static inline void add_to_backlog(hdr_t* hdr) { ScopedPthreadMutexLocker locker(&backlog_lock); hdr->tag = BACKLOG_TAG; backlog_num++; add_locked(hdr, &backlog_tail, &backlog_head); poison(hdr); /* If we've exceeded the maximum backlog, clear it up */ while (backlog_num > gMallocDebugBacklog) { hdr_t* gone = backlog_tail; del_from_backlog_locked(gone); dlfree(gone->base); } }
static inline void add_to_backlog(struct hdr *hdr) { pthread_mutex_lock(&backlog_lock); hdr->tag = BACKLOG_TAG; backlog_num++; add_locked(hdr, &backlog_tail, &backlog_head); poison(hdr); /* If we've exceeded the maximum backlog, clear it up */ while (backlog_num > malloc_double_free_backlog) { struct hdr *gone = backlog_tail; del_from_backlog_locked(gone); dlfree(gone); } pthread_mutex_unlock(&backlog_lock); }
static inline void del_from_backlog(hdr_t* hdr) { ScopedPthreadMutexLocker locker(&backlog_lock); del_from_backlog_locked(hdr); }
static inline void del_from_backlog(struct hdr *hdr) { pthread_mutex_lock(&backlog_lock); del_from_backlog_locked(hdr); pthread_mutex_unlock(&backlog_lock); }