summaryrefslogtreecommitdiffstats
path: root/runtime/stream.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2010-03-18 12:34:26 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2010-03-18 12:34:26 +0100
commit1fb45d3e993e44e1595fc54f1ad3b786c66fbb4c (patch)
treeade21fd7653c637b5485ed2546c84ad176f0b980 /runtime/stream.c
parent5c7225b77636b5f8231ccb0edc61fb7d68eb752b (diff)
downloadrsyslog-1fb45d3e993e44e1595fc54f1ad3b786c66fbb4c.tar.gz
rsyslog-1fb45d3e993e44e1595fc54f1ad3b786c66fbb4c.tar.xz
rsyslog-1fb45d3e993e44e1595fc54f1ad3b786c66fbb4c.zip
some cleanup, some additional comments and a bit more debug output
Diffstat (limited to 'runtime/stream.c')
-rw-r--r--runtime/stream.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/runtime/stream.c b/runtime/stream.c
index 87daedaf..9a0a8615 100644
--- a/runtime/stream.c
+++ b/runtime/stream.c
@@ -316,7 +316,8 @@ static rsRetVal strmCloseFile(strm_t *pThis)
DEFiRet;
ASSERT(pThis != NULL);
- DBGOPRINT((obj_t*) pThis, "file %d closing\n", pThis->fd);
+ DBGOPRINT((obj_t*) pThis, "file %d(%s) closing\n", pThis->fd,
+ (pThis->pszFName == NULL) ? "N/A" : (char*)pThis->pszFName);
if(pThis->tOperationsMode != STREAMMODE_READ) {
strmFlush(pThis);
@@ -929,6 +930,7 @@ asyncWriterThread(void *pPtr)
while(1) { /* loop broken inside */
d_pthread_mutex_lock(&pThis->mut);
+dbgprintf("XXX: asyncWriterThread iterating %s\n", pThis->pszFName);
while(pThis->iCnt == 0) {
if(pThis->bStopWriter) {
pthread_cond_broadcast(&pThis->isEmpty);
@@ -944,6 +946,7 @@ asyncWriterThread(void *pPtr)
bTimedOut = 0;
timeoutComp(&t, pThis->iFlushInterval * 2000); /* *1000 millisconds */
if(pThis->bDoTimedWait) {
+dbgprintf("asyncWriter thread going to timeout sleep\n");
if(pthread_cond_timedwait(&pThis->notEmpty, &pThis->mut, &t) != 0) {
int err = errno;
if(err == ETIMEDOUT) {
@@ -957,13 +960,16 @@ asyncWriterThread(void *pPtr)
}
}
} else {
+dbgprintf("asyncWriter thread going to eternal sleep\n");
d_pthread_cond_wait(&pThis->notEmpty, &pThis->mut);
}
+dbgprintf("asyncWriter woke up\n");
}
bTimedOut = 0; /* we may have timed out, but there *is* work to do... */
iDeq = pThis->iDeq++ % STREAM_ASYNC_NUMBUFS;
+dbgprintf("asyncWriter writes data\n");
doWriteInternal(pThis, pThis->asyncBuf[iDeq].pBuf, pThis->asyncBuf[iDeq].lenBuf);
// TODO: error check????? 2009-07-06
@@ -1135,7 +1141,10 @@ strmFlush(strm_t *pThis)
DEFiRet;
ASSERT(pThis != NULL);
- DBGOPRINT((obj_t*) pThis, "file %d flush, buflen %ld\n", pThis->fd, (long) pThis->iBufPtr);
+ DBGOPRINT((obj_t*) pThis, "file %d(%s) flush, buflen %ld\n", pThis->fd, pThis->pszFName, (long) pThis->iBufPtr);
+ DBGOPRINT((obj_t*) pThis, "file %d(%s) flush, buflen %ld%s\n", pThis->fd,
+ (pThis->pszFName == NULL) ? "N/A" : (char*)pThis->pszFName,
+ (long) pThis->iBufPtr, (pThis->iBufPtr == 0) ? " (no need to flush)" : "");
if(pThis->tOperationsMode != STREAMMODE_READ && pThis->iBufPtr > 0) {
iRet = strmSchedWrite(pThis, pThis->pIOBuf, pThis->iBufPtr);