Fu Juntang
2021-09-17 5c912c70e9333298ff48f7ea15424f72ca977b99
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;
}