MCPcopy Create free account
hub / github.com/ceph/ceph / dispatch_event_external

Method dispatch_event_external

src/msg/async/Event.cc:508–523  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

506}
507
508void EventCenter::dispatch_event_external(EventCallbackRef e)
509{
510 uint64_t num = 0;
511 {
512 std::lock_guard lock{external_lock};
513 if (external_num_events > 0 && *external_events.rbegin() == e) {
514 return;
515 }
516 external_events.push_back(e);
517 num = ++external_num_events;
518 }
519 if (num == 1 && !in_thread())
520 wakeup();
521
522 ldout(cct, 30) << __func__ << " " << e << " pending " << num << dendl;
523}

Callers 15

eventcenter_dispatchFunction · 0.80
TESTFunction · 0.80
exec_eventsMethod · 0.80
ClientMethod · 0.80
closeMethod · 0.80
do_read_requestMethod · 0.80
ServerMethod · 0.80
closeMethod · 0.80
do_read_requestMethod · 0.80
drainMethod · 0.80
_try_sendMethod · 0.80
_connectMethod · 0.80

Calls 3

wakeupFunction · 0.50
rbeginMethod · 0.45
push_backMethod · 0.45

Tested by 9

eventcenter_dispatchFunction · 0.64
TESTFunction · 0.64
exec_eventsMethod · 0.64
ClientMethod · 0.64
closeMethod · 0.64
do_read_requestMethod · 0.64
ServerMethod · 0.64
closeMethod · 0.64
do_read_requestMethod · 0.64