wangzhengquan
2021-01-06 7285f5762bd3f1be94884730d9a28dd406f98fc5
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));
  }
  
}