POP3Client: stop client / db watchers before switching the context.
authorWilfried Goesgens <dothebart@citadel.org>
Mon, 21 May 2012 05:40:29 +0000 (07:40 +0200)
committerWilfried Goesgens <dothebart@citadel.org>
Mon, 21 May 2012 05:40:29 +0000 (07:40 +0200)
citadel/modules/pop3client/serv_pop3client.c

index cebd02c1f29dfed6df755562fd1686e0ac81ec2b..2f6e69c0cd6962ec862cf287116e0c6b54b7a485 100644 (file)
@@ -386,7 +386,7 @@ eNextState POP3_FetchNetworkUsetableEntry(AsyncIO *IO)
                /* ok, now we know them all,
                 * continue with reading the actual messages. */
                DeleteHashPos(&RecvMsg->Pos);
-
+               StopDBWatchers(IO);
                return QueueEventContext(IO, POP3_C_ReAttachToFetchMessages);
        }
 }
@@ -524,7 +524,7 @@ eNextState POP3C_StoreMsgRead(AsyncIO *IO)
                  StrLength(RecvMsg->CurrMsg->MsgUID),
                  &ut,
                  sizeof(struct UseTable) );
-
+       StopDBWatchers(IO);
        return QueueEventContext(&RecvMsg->IO, POP3_C_ReAttachToFetchMessages);
 }
 eNextState POP3C_SaveMsg(AsyncIO *IO)
@@ -555,7 +555,7 @@ eNextState POP3C_ReadMessageBody(pop3aggr *RecvMsg)
        EVP3CM_syslog(LOG_DEBUG, "Converting message...");
        RecvMsg->CurrMsg->Msg =
                convert_internet_message_buf(&RecvMsg->IO.ReadMsg->MsgBuf);
-
+       StopClientWatchers(IO);
        return QueueDBOperation(&RecvMsg->IO, POP3C_SaveMsg);
 }