X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fevent_client.c;fp=citadel%2Fevent_client.c;h=c633f5357a1e845520eec5d9eee2a8f86439e696;hp=37dcb9e46aeda46caacafc57067d201e2c986262;hb=149b7a41b77a3cc0752fe88090e60ce7dae90a85;hpb=adccf08ddebcb920c4244cc62bc48f85575c2d88 diff --git a/citadel/event_client.c b/citadel/event_client.c index 37dcb9e46..c633f5357 100644 --- a/citadel/event_client.c +++ b/citadel/event_client.c @@ -370,7 +370,22 @@ void PostInbound(AsyncIO *IO) case eSendMore: assert(IO->SendDone); IO->NextState = IO->SendDone(IO); - ev_io_start(event_base, &IO->send_event); + switch (IO->NextState) + { + case eSendFile: + case eSendReply: + case eSendMore: + case eReadMessage: + case eReadPayload: + case eReadMore: + case eReadFile: + ev_io_start(event_base, &IO->send_event); + break; + case eDBQuery: + StopClientWatchers(IO, 0); + default: + break; + } break; case eReadPayload: case eReadMore: