wangzhengquan
2020-07-25 48ae739d196e8a1ad681e5a54ad992302119bd83
src/queue/include/shm_queue.h
@@ -32,7 +32,7 @@
   
    inline bool push(const ELEM_T &a_data);
    inline bool push_nowait(const ELEM_T &a_data);
    inline bool push_timeout(const ELEM_T &a_data, struct timespec * timeout);
    inline bool push_timeout(const ELEM_T &a_data, const struct timespec * timeout);
    inline bool pop(ELEM_T &a_data);
    inline bool pop_nowait(ELEM_T &a_data);
    inline bool pop_timeout(ELEM_T &a_data, struct timespec * timeout);
@@ -99,12 +99,12 @@
{
    SemUtil::dec( queue->mutex);
    queue->reference--;
    LoggerFactory::getLogger().debug("SHMQueue destructor  reference===%d", queue->reference.load());
//LoggerFactory::getLogger().debug("SHMQueue destructor  reference===%d", queue->reference.load());
    if(queue->reference.load() == 0) {
        delete queue;
        hashtable_t *hashtable = mm_get_hashtable();
        hashtable_remove(hashtable, KEY);
        LoggerFactory::getLogger().debug("SHMQueue destructor delete queue");
// LoggerFactory::getLogger().debug("SHMQueue destructor delete queue\n");
    } else {
        SemUtil::inc(queue->mutex);
    }
@@ -146,7 +146,7 @@
}
template < typename ELEM_T >
inline bool SHMQueue<ELEM_T>::push_timeout(const ELEM_T &a_data, struct timespec * timeout)
inline bool SHMQueue<ELEM_T>::push_timeout(const ELEM_T &a_data, const struct timespec * timeout)
{
    return queue->push_timeout(a_data, timeout);
@@ -159,7 +159,10 @@
template < typename ELEM_T >
inline bool SHMQueue<ELEM_T>::pop(ELEM_T &a_data)
{
   return queue->pop(a_data);
// printf("SHMQueue pop before\n");
   int rv = queue->pop(a_data);
// printf("SHMQueue after before\n");
   return rv;
    
}