diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2008-09-18 12:45:44 +0200 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2008-09-18 12:45:44 +0200 |
commit | 9d8bb5629b6131be7c260ab3f9169ea1055c07f6 (patch) | |
tree | fa017f714eb4c75f94b9902f66c59f24d4bb4bf6 /runtime/queue.c | |
parent | 7b63cd6feda5087c43652bdcf8e694b544295d5b (diff) | |
parent | 4c96ebdcfe075e80810b01257cf21ea1c9b3ec0e (diff) | |
download | rsyslog-9d8bb5629b6131be7c260ab3f9169ea1055c07f6.tar.gz rsyslog-9d8bb5629b6131be7c260ab3f9169ea1055c07f6.tar.bz2 rsyslog-9d8bb5629b6131be7c260ab3f9169ea1055c07f6.zip |
Merge branch 'helgrind' into perf
Conflicts:
ChangeLog
Diffstat (limited to 'runtime/queue.c')
-rw-r--r-- | runtime/queue.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/runtime/queue.c b/runtime/queue.c index 7e7d4152..c0a37019 100644 --- a/runtime/queue.c +++ b/runtime/queue.c @@ -2171,17 +2171,17 @@ queueEnqObj(queue_t *pThis, flowControl_t flowCtlType, void *pUsr) finalize_it: if(pThis->qType != QUEUETYPE_DIRECT) { - d_pthread_mutex_unlock(pThis->mut); + /* make sure at least one worker is running. */ + if(pThis->qType != QUEUETYPE_DIRECT) { + queueAdviseMaxWorkers(pThis); + } + /* and release the mutex */ i = pthread_cond_signal(&pThis->notEmpty); + d_pthread_mutex_unlock(pThis->mut); dbgoprint((obj_t*) pThis, "EnqueueMsg signaled condition (%d)\n", i); pthread_setcancelstate(iCancelStateSave, NULL); } - /* make sure at least one worker is running. */ - if(pThis->qType != QUEUETYPE_DIRECT) { - queueAdviseMaxWorkers(pThis); - } - RETiRet; } |