From dd59064e38dec85f201b6bb167c250b08e5fdfbf Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Fri, 7 Nov 2014 00:44:41 +0100 Subject: [PATCH] way back from DB -> IO Queue --- citadel/event_client.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/citadel/event_client.c b/citadel/event_client.c index bdb33dd73..b3bb59eb8 100644 --- a/citadel/event_client.c +++ b/citadel/event_client.c @@ -68,7 +68,7 @@ void SetEVState(AsyncIO *IO, eIOState State) } - +eNextState QueueAnEventContext(AsyncIO *IO); static void IO_Timeout_callback(struct ev_loop *loop, ev_timer *watcher, int revents); static void IO_abort_shutdown_callback(struct ev_loop *loop, ev_cleanup *watcher, @@ -164,12 +164,15 @@ DB_PerformNext(struct ev_loop *loop, ev_idle *watcher, int revents) assert(IO->NextDBOperation); switch (IO->NextDBOperation(IO)) { + case eSendReply: + ev_cleanup_stop(loop, &IO->db_abort_by_shutdown); + QueueAnEventContext(IO); + break; case eDBQuery: break; case eSendDNSQuery: case eReadDNSReply: case eConnect: - case eSendReply: case eSendMore: case eSendFile: case eReadMessage: -- 2.30.2