MCPcopy Create free account
hub / github.com/Tencent/mars / BreakMessageQueueRunloop

Function BreakMessageQueueRunloop

mars/comm/messagequeue/message_queue.cc:278–292  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

276}
277
278void BreakMessageQueueRunloop(const MessageQueue_t& _messagequeueid) {
279 ASSERT(0 != _messagequeueid);
280
281 ScopedLock lock(sg_messagequeue_map_mutex);
282 const MessageQueue_t& id = _messagequeueid;
283
284 std::map<MessageQueue_t, MessageQueueContent>::iterator pos = sg_messagequeue_map.find(id);
285 if (sg_messagequeue_map.end() == pos) {
286 //ASSERT2(false, "%llu", (unsigned long long)id);
287 return;
288 }
289
290 pos->second.breakflag = true;
291 pos->second.breaker->Notify(lock);
292}
293
294MessageHandler_t InstallMessageHandler(const MessageHandler& _handler, bool _recvbroadcast, const MessageQueue_t& _messagequeueid) {
295 ASSERT(bool(_handler));

Callers 2

CancelAndWaitMethod · 0.85

Calls 3

findMethod · 0.45
endMethod · 0.45
NotifyMethod · 0.45

Tested by

no test coverage detected