| 341 | return m_items.empty(); |
| 342 | } |
| 343 | void *_void_dequeue() override { |
| 344 | ceph_assert(ceph_mutex_is_locked(m_pool->_lock)); |
| 345 | if (m_items.empty()) { |
| 346 | return NULL; |
| 347 | } |
| 348 | |
| 349 | ++m_processing; |
| 350 | T *item = m_items.front(); |
| 351 | m_items.pop_front(); |
| 352 | return item; |
| 353 | } |
| 354 | void _void_process(void *item, ThreadPool::TPHandle &handle) override { |
| 355 | process(reinterpret_cast<T *>(item)); |
| 356 | } |