Remove redundant checks for lock!=NULL before calling EVLOCK_LOCK

The EVLOCK_LOCK and EVLOCK_UNLOCK macros already check to make sure
that the lock is present before messing with it, so there's no point
in checking the lock before calling them.

A good compiler should be able to simplify code like
  if (lock) {
     if (lock)
        acquire(lock);
  }
, but why count on it?
This commit is contained in:
Nick Mathewson 2010-04-28 15:16:32 -04:00
parent 40c301b76c
commit 50ec59f4a6

View File

@ -352,15 +352,13 @@ int _bufferevent_generic_adj_timeouts(struct bufferevent *bev);
/** Internal: Grab the lock (if any) on a bufferevent */
#define BEV_LOCK(b) do { \
struct bufferevent_private *locking = BEV_UPCAST(b); \
if (locking->lock) \
EVLOCK_LOCK(locking->lock, 0); \
EVLOCK_LOCK(locking->lock, 0); \
} while (0)
/** Internal: Release the lock (if any) on a bufferevent */
#define BEV_UNLOCK(b) do { \
struct bufferevent_private *locking = BEV_UPCAST(b); \
if (locking->lock) \
EVLOCK_UNLOCK(locking->lock, 0); \
EVLOCK_UNLOCK(locking->lock, 0); \
} while (0)
/* ==== For rate-limiting. */