/** * Removes queue node from queue. * * @param qAddr Address of queue node. */ void remove(long qAddr) { lock.lock(); try { // Don't remove polling entries (poll operation will remove them). if (!polling(qAddr)) unlink(qAddr); else // Update entry address in node to 0. entry(qAddr, 0); } finally { lock.unlock(); } }
entry(qAddr, addr);
polling(qAddr, false); hash(qAddr, hash); entry(qAddr, addr); previous(qAddr, prev); next(qAddr, 0L);
polling(qAddr, false); hash(qAddr, hash); entry(qAddr, addr); previous(qAddr, prev); next(qAddr, 0L);
entry(qAddr, addr);
/** * Removes queue node from queue. * * @param qAddr Address of queue node. */ void remove(long qAddr) { lock.lock(); try { // Don't remove polling entries (poll operation will remove them). if (!polling(qAddr)) unlink(qAddr); else // Update entry address in node to 0. entry(qAddr, 0); } finally { lock.unlock(); } }