wangzhengquan
2020-07-14 80ecfcbc4367568abd5d860a2473653638e44e10
queue/include/shm_queue.h
@@ -54,9 +54,10 @@
SHMQueue<ELEM_T>::SHMQueue(int key, size_t qsize): KEY(key)
{
    hashtable_t *hashtable = get_mm_hashtable();
    hashtable_t *hashtable = mm_get_hashtable();
    queue = (LockFreeQueue<ELEM_T> *)hashtable_get(hashtable, key);
    //LockFreeQueue<int, 10000> q;
    if ((queue = (LockFreeQueue<ELEM_T> *)hashtable_get(hashtable, key)) == NULL ) {
    if (queue == NULL || (void *)queue == (void *)1) {
        queue = new LockFreeQueue<ELEM_T>(qsize);
        hashtable_put(hashtable,  key, (void *)queue);
    }
@@ -71,7 +72,7 @@
    LoggerFactory::getLogger().debug("SHMQueue destructor  reference===%d", queue->reference.load());
    if(queue->reference.load() == 0) {
        delete queue;
        hashtable_t *hashtable = get_mm_hashtable();
        hashtable_t *hashtable = mm_get_hashtable();
        hashtable_remove(hashtable, KEY);
        LoggerFactory::getLogger().debug("SHMQueue destructor delete queue");
    }