From: Wilfried Goesgens Date: Thu, 23 Oct 2014 19:03:09 +0000 (+0200) Subject: Use a single function to transition from IO to DB Queue X-Git-Tag: v9.01~110 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=aea6f452f4ae9c17d942d2eabab6a75671f5c6d6 Use a single function to transition from IO to DB Queue --- diff --git a/citadel/event_client.c b/citadel/event_client.c index d64e95bac..b3b52e688 100644 --- a/citadel/event_client.c +++ b/citadel/event_client.c @@ -257,9 +257,9 @@ eNextState QueueEventContext(AsyncIO *IO, IO_CallBack CB) return eSendReply; } -eNextState EventQueueDBOperation(AsyncIO *IO, IO_CallBack CB) +eNextState EventQueueDBOperation(AsyncIO *IO, IO_CallBack CB, int CloseFDs) { - StopClientWatchers(IO, 0); + StopClientWatchers(IO, CloseFDs); return QueueDBOperation(IO, CB); } eNextState DBQueueEventContext(AsyncIO *IO, IO_CallBack CB) diff --git a/citadel/event_client.h b/citadel/event_client.h index a5e0c326f..8777a3433 100644 --- a/citadel/event_client.h +++ b/citadel/event_client.h @@ -283,7 +283,7 @@ void FreeAsyncIOContents(AsyncIO *IO); eNextState NextDBOperation(AsyncIO *IO, IO_CallBack CB); eNextState QueueDBOperation(AsyncIO *IO, IO_CallBack CB); -eNextState EventQueueDBOperation(AsyncIO *IO, IO_CallBack CB); +eNextState EventQueueDBOperation(AsyncIO *IO, IO_CallBack CB, int CloseFDs); void StopDBWatchers(AsyncIO *IO); eNextState QueueEventContext(AsyncIO *IO, IO_CallBack CB); eNextState QueueCurlContext(AsyncIO *IO); diff --git a/citadel/modules/networkclient/serv_networkclient.c b/citadel/modules/networkclient/serv_networkclient.c index 95badfb68..72f48367c 100644 --- a/citadel/modules/networkclient/serv_networkclient.c +++ b/citadel/modules/networkclient/serv_networkclient.c @@ -242,8 +242,8 @@ eNextState NWC_ReadGreeting(AsyncNetworker *NW) "Connected to node \"%s\" but I was expecting to connect to node \"%s\".", connected_to, ChrPtr(NW->node)); EVN_syslog(LOG_ERR, "%s\n", ChrPtr(NW->IO.ErrMsg)); - StopClientWatchers(IO, 1); - return QueueDBOperation(IO, NWC_SendFailureMessage); + + return EventQueueDBOperation(IO, NWC_SendFailureMessage, 1); } return eSendReply; } diff --git a/citadel/modules/smtp/serv_smtpeventclient.c b/citadel/modules/smtp/serv_smtpeventclient.c index 3874bf8f4..a9317105d 100644 --- a/citadel/modules/smtp/serv_smtpeventclient.c +++ b/citadel/modules/smtp/serv_smtpeventclient.c @@ -255,7 +255,7 @@ eNextState Terminate(AsyncIO *IO) eNextState FinalizeMessageSend(SmtpOutMsg *Msg) { /* hand over to DB Queue */ - return EventQueueDBOperation(&Msg->IO, FinalizeMessageSend_DB); + return EventQueueDBOperation(&Msg->IO, FinalizeMessageSend_DB, 0); } eNextState FailOneAttempt(AsyncIO *IO)