wangzhengquan
2020-08-01 5f7b0d34f54fee057814c3f146c871c474d53b75
src/queue/include/shm_queue.h
@@ -68,8 +68,8 @@
      }
    }
    if (!found) {
      // mqueue = (LockFreeQueue<ELEM_T, SHM_Allocator> *)hashtable_get(hashtable, *keyItr);
      // delete mqueue;
      mqueue = (LockFreeQueue<ELEM_T, SHM_Allocator> *)hashtable_get(hashtable, *keyItr);
      delete mqueue;
      hashtable_remove(hashtable, *keyItr);
    }
  }
@@ -103,12 +103,11 @@
  SemUtil::dec(queue->mutex);
  queue->reference--;
  // LoggerFactory::getLogger().debug("SHMQueue destructor  reference===%d",
  // queue->reference.load());
  if (queue->reference.load() == 0) {
   // delete queue;
    delete queue;
    hashtable_t *hashtable = mm_get_hashtable();
    hashtable_remove(hashtable, KEY);
    // LoggerFactory::getLogger().debug("SHMQueue destructor delete queue\n");
    // printf("SHMQueue destructor delete queue\n");
  } else {
    SemUtil::inc(queue->mutex);
  }