src/queue/shm_queue.h
@@ -124,7 +124,7 @@ return; } SemUtil::dec(queue->mutex); sem_wait(&(queue->mutex)); queue->reference--; // LoggerFactory::getLogger()->debug("SHMQueue destructor reference===%d", if (queue->reference.load() == 0) { @@ -132,10 +132,10 @@ queue = NULL; hashtable_t *hashtable = mm_get_hashtable(); hashtable_remove(hashtable, KEY); // 此时queue已经销毁,无需 SemUtil::inc(queue->mutex) // 此时queue已经销毁,无需 sem_post(&(queue->mutex)) // printf("SHMQueue destructor delete queue\n"); } else { SemUtil::inc(queue->mutex); sem_post(&(queue->mutex)); } }