fujuntang
2021-09-07 b984dac55bdd0a5b694837fb8fb2ceb07ce9808f
src/queue/shm_queue.h
@@ -40,8 +40,8 @@
  bool full();
  bool empty();
  int push(const ELEM_T &a_data, const struct timespec *timeout=NULL, int flag=0);
  int pop(ELEM_T &a_data, const struct timespec *timeout=NULL, int flag=0);
  int push(const ELEM_T &a_data, const struct timespec *timeout = NULL, int flag = 0);
  int pop(ELEM_T &a_data, const struct timespec *timeout = NULL, int flag = 0);
  ELEM_T &operator[](unsigned i);
@@ -87,19 +87,15 @@
template <typename ELEM_T>
bool SHMQueue<ELEM_T>::bind(int key, bool force)  {
  hashtable_lock(hashtable);
  void *tmp_ptr = hashtable_get(hashtable, key);
  if (tmp_ptr == NULL || tmp_ptr == (void *)1 || force) {
    queue = new LockFreeQueue<ELEM_T, SHM_Allocator>(mqsize);
    hashtable_put(hashtable, key, (void *)queue);
    mkey = key;
    owner = true;
    hashtable_unlock(hashtable);
    return true;
  }
  
  hashtable_unlock(hashtable);
  return  false;
}