From 3a20ee45be537a98d9da4a7dc994b375ac4a7055 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Wed, 27 Feb 2008 08:45:38 +0000 Subject: bugfix: queue cancel cleanup handler could be called with invalid pointer if dequeue failed --- wti.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'wti.c') diff --git a/wti.c b/wti.c index 402b6bda..e7120f8a 100644 --- a/wti.c +++ b/wti.c @@ -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); -- cgit