From 371110dcb5394eb1762cc7f16042b666dd21042b Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Thu, 26 Jan 2012 23:09:51 +0100 Subject: [PATCH] If we disconnect the server, clean up thoroughly, so we don't struggle over half baked states later on. --- webcit/serv_func.c | 1 + webcit/tcp_sockets.c | 2 ++ webcit/webcit.c | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/webcit/serv_func.c b/webcit/serv_func.c index 71d5d57da..873a3ffde 100644 --- a/webcit/serv_func.c +++ b/webcit/serv_func.c @@ -172,6 +172,7 @@ int GetConnected (void) WCC->serv_sock = tcp_connectsock(ctdlhost, ctdlport); if (WCC->serv_sock < 0) { + WCC->connected = 0; FreeStrBuf(&WCC->ReadBuf); return 1; } diff --git a/webcit/tcp_sockets.c b/webcit/tcp_sockets.c index 7db07943d..de63f0ca5 100644 --- a/webcit/tcp_sockets.c +++ b/webcit/tcp_sockets.c @@ -912,10 +912,12 @@ SessionDestroyModule_TCPSOCKETS { FreeStrBuf(&sess->CLineBuf); FreeStrBuf(&sess->ReadBuf); + sess->connected = 0; sess->ReadPos = NULL; FreeStrBuf(&sess->MigrateReadLineBuf); if (sess->serv_sock > 0) { syslog(LOG_DEBUG, "Closing socket %d", sess->serv_sock); close(sess->serv_sock); } + sess->serv_sock = -1; } diff --git a/webcit/webcit.c b/webcit/webcit.c index 94ff1e22e..944b457c8 100644 --- a/webcit/webcit.c +++ b/webcit/webcit.c @@ -31,7 +31,7 @@ StrBuf *csslocal = NULL; HashList *HandlerHash = NULL; void stuff_to_cookie(int unset_cookie); -int GetConnected(void); +extern int GetConnected(void); void PutRequestLocalMem(void *Data, DeleteHashDataFunc DeleteIt) -- 2.30.2