From 6b7a2de643aa5b4550958f32913fcabd767a00be Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Thu, 12 May 2011 12:47:02 -0400 Subject: [PATCH] Changed session logging in order to determine why some sessions are not timing out. --- webcit/context_loop.c | 10 ++++------ webcit/tcp_sockets.c | 6 ++++-- webcit/webcit.h | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/webcit/context_loop.c b/webcit/context_loop.c index f8a9966d0..225233ff2 100644 --- a/webcit/context_loop.c +++ b/webcit/context_loop.c @@ -70,13 +70,14 @@ void do_housekeeping(void) /* Kill idle sessions */ if ((time(NULL) - (sptr->lastreq)) > (time_t) WEBCIT_TIMEOUT) { + syslog(3, "Timeout session %d\n", sptr->wc_session); sptr->killthis = 1; } /* Remove sessions flagged for kill */ if (sptr->killthis) { - /** remove session from linked list */ + /* remove session from linked list */ if (sptr == SessionList) { SessionList = SessionList->next; } @@ -97,10 +98,7 @@ void do_housekeeping(void) */ while (sessions_to_kill != NULL) { syslog(3, "Destroying session %d\n", sessions_to_kill->wc_session); - pthread_mutex_lock(&sessions_to_kill->SessionMutex); - pthread_mutex_unlock(&sessions_to_kill->SessionMutex); sptr = sessions_to_kill->next; - session_destroy_modules(&sessions_to_kill); sessions_to_kill = sptr; } @@ -203,8 +201,6 @@ wcsession *FindSession(wcsession **wclist, ParsedHttpHdrs *Hdr, pthread_mutex_t wcsession *CreateSession(int Lockable, int Static, wcsession **wclist, ParsedHttpHdrs *Hdr, pthread_mutex_t *ListMutex) { wcsession *TheSession; - if (!Static) - syslog(3, "Creating a new session\n"); TheSession = (wcsession *) malloc(sizeof(wcsession)); memset(TheSession, 0, sizeof(wcsession)); TheSession->Hdr = Hdr; @@ -221,9 +217,11 @@ wcsession *CreateSession(int Lockable, int Static, wcsession **wclist, ParsedHtt */ if (Hdr->HR.desired_session == 0) { TheSession->wc_session = GenerateSessionID(); + syslog(3, "Created new session %d", TheSession->wc_session); } else { TheSession->wc_session = Hdr->HR.desired_session; + syslog(3, "Re-created session %d", TheSession->wc_session); } Hdr->HR.Static = Static; session_new_modules(TheSession); diff --git a/webcit/tcp_sockets.c b/webcit/tcp_sockets.c index 1adcafc32..687580e2d 100644 --- a/webcit/tcp_sockets.c +++ b/webcit/tcp_sockets.c @@ -275,7 +275,7 @@ void FlushReadBuf (void) pche = pch + len; if (WCC->ReadPos != pche) { - syslog(1, "ERROR: somebody didn't eat his soup! Remaing Chars: %ld [%s]\n", + syslog(1, "ERROR: somebody didn't eat his soup! Remaing Chars: %d [%s]\n", pche - WCC->ReadPos, pche); syslog(1, "--------------------------------------------------------------------------------\n" @@ -921,6 +921,8 @@ SessionDestroyModule_TCPSOCKETS FreeStrBuf(&sess->ReadBuf); sess->ReadPos = NULL; FreeStrBuf(&sess->MigrateReadLineBuf); - if (sess->serv_sock > 0) + if (sess->serv_sock > 0) { + syslog(LOG_DEBUG, "Closing socket %d", sess->serv_sock); close(sess->serv_sock); + } } diff --git a/webcit/webcit.h b/webcit/webcit.h index 75baddc9b..c67111119 100644 --- a/webcit/webcit.h +++ b/webcit/webcit.h @@ -132,7 +132,7 @@ extern char *ssl_cipher_list; #define SIZ 4096 /* generic buffer size */ -#define TRACE fprintf(stderr, "\033[7mCheckpoint: %s, %d\033[0m\n", __FILE__, __LINE__) +#define TRACE syslog(LOG_DEBUG, "CHECKPOINT: %s, %d", __FILE__, __LINE__) #define SLEEPING 180 /* TCP connection timeout */ #define WEBCIT_TIMEOUT 900 /* WebCit session timeout */ -- 2.30.2