bool IOEventLoop::AddSignalEvents(std::vector<int> sigs, const std::function<bool()>& callback) { for (auto sig : sigs) { if (!AddSignalEvent(sig, callback)) { return false; } } return true; }
static void DispatchEvent(KonohaContext *kctx, kbool_t (*consume)(KonohaContext *kctx, struct JsonBuf *, KTraceInfo *), KTraceInfo *trace) { struct EventContext *eventContext = PLATAPI eventContext; if(eventContext->caughtSignal != 0) { eventContext->caughtSignal = 0; AddSignalEvent(kctx, eventContext, trace); } RawEvent *rawEvent = dequeueRawEventFromLocalQueue(eventContext->queue); while(rawEvent != NULL) { consume(kctx, (struct JsonBuf *)rawEvent, trace); rawEvent = dequeueRawEventFromLocalQueue(eventContext->queue); } }