return;
}
ldout(cct,20) << "queue " << m << " prio " << priority << dendl;
- add_arrival(m);
+ QueueItem item{m};
+ add_arrival(item);
if (priority >= CEPH_MSG_PRIO_LOW) {
- mqueue.enqueue_strict(id, priority, QueueItem(m));
+ mqueue.enqueue_strict(id, priority, std::move(item));
} else {
- mqueue.enqueue(id, priority, m->get_cost(), QueueItem(m));
+ mqueue.enqueue(id, priority, m->get_cost(), std::move(item));
}
- cond.notify_all();
+ cond.notify_one();
}
void DispatchQueue::local_delivery(const ref_t<Message>& m, int priority)