From 4984c1ba6c84a3ae91f9afd4da2ea718c98c97a7 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Wed, 30 Jan 2008 08:02:42 +0000 Subject: - renamed Msg object to usual all-lowercase object name (else we ran into troubles with the framework, also it was somewhat ugly...) - fixed a memory leak in object destruction (was recently introduced by object naming, not present in any released version) --- wtp.c | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) (limited to 'wtp.c') diff --git a/wtp.c b/wtp.c index 69ca353b..7b34076a 100644 --- a/wtp.c +++ b/wtp.c @@ -125,21 +125,9 @@ finalize_it: /* Destructor */ -rsRetVal -wtpDestruct(wtp_t **ppThis) -{ - DEFiRet; - wtp_t *pThis; - int iCancelStateSave; +BEGINobjDestruct(wtp) /* be sure to specify the object type also in END and CODESTART macros! */ int i; - - assert(ppThis != NULL); - pThis = *ppThis; - ISOBJ_TYPE_assert(pThis, wtp); - - /* we can not be canceled, that would have a myriad of side-effects */ - pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &iCancelStateSave); - +CODESTARTobjDestruct(wtp) /* destruct workers */ for(i = 0 ; i < pThis->iNumWorkerThreads ; ++i) wtiDestruct(&pThis->pWrkr[i]); @@ -153,16 +141,7 @@ wtpDestruct(wtp_t **ppThis) if(pThis->pszDbgHdr != NULL) free(pThis->pszDbgHdr); - - /* and finally delete the queue objet itself */ - free(pThis); - *ppThis = NULL; - - /* back to normal */ - pthread_setcancelstate(iCancelStateSave, NULL); - - RETiRet; -} +ENDobjDestruct(wtp) /* wake up at least one worker thread. -- cgit v1.2.3