diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2008-02-27 08:45:38 +0000 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2008-02-27 08:45:38 +0000 |
commit | 3a20ee45be537a98d9da4a7dc994b375ac4a7055 (patch) | |
tree | 9e0e1ddfd0d06b8eac5d092acb0ab032267ca791 /wti.c | |
parent | eb4b1915d1655d801e0232f4196fbdc1af3c857f (diff) | |
download | rsyslog-3a20ee45be537a98d9da4a7dc994b375ac4a7055.tar.gz rsyslog-3a20ee45be537a98d9da4a7dc994b375ac4a7055.tar.xz rsyslog-3a20ee45be537a98d9da4a7dc994b375ac4a7055.zip |
bugfix: queue cancel cleanup handler could be called with invalid pointer
if dequeue failed
Diffstat (limited to 'wti.c')
-rw-r--r-- | wti.c | 2 |
1 files changed, 0 insertions, 2 deletions
@@ -405,11 +405,9 @@ wtiWorker(wti_t *pThis) /* indicate termination */ pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &iCancelStateSave); -// TODO: this deadlocks with wtiProcessThrdChanges(), where it waits on the thread to join (on US TO JOIN!!!) d_pthread_mutex_lock(&pThis->mut); pthread_cleanup_pop(0); /* remove cleanup handler */ -RUNLOG_VAR("%p", pWtp->pUsr); pWtp->pfOnWorkerShutdown(pWtp->pUsr); wtiSetState(pThis, eWRKTHRD_TERMINATING, 0, MUTEX_ALREADY_LOCKED); |