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) --- wti.c | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-) (limited to 'wti.c') diff --git a/wti.c b/wti.c index dd0e465e..f938be3b 100644 --- a/wti.c +++ b/wti.c @@ -144,19 +144,8 @@ wtiSetState(wti_t *pThis, qWrkCmd_t tCmd, int bActiveOnly, int bLockMutex) /* Destructor */ -rsRetVal wtiDestruct(wti_t **ppThis) -{ - DEFiRet; - wti_t *pThis; - int iCancelStateSave; - - assert(ppThis != NULL); - pThis = *ppThis; - ISOBJ_TYPE_assert(pThis, wti); - - /* we can not be canceled, that would have a myriad of side-effects */ - pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &iCancelStateSave); - +BEGINobjDestruct(wti) /* be sure to specify the object type also in END and CODESTART macros! */ +CODESTARTobjDestruct(wti) /* if we reach this point, we must make sure the associated worker has terminated. It is * the callers duty to make sure the worker already knows it shall terminate. * TODO: is it *really* the caller's duty? ...mmmhhhh.... smells bad... rgerhards, 2008-01-25 @@ -180,16 +169,7 @@ rsRetVal wtiDestruct(wti_t **ppThis) if(pThis->pszDbgHdr != NULL) free(pThis->pszDbgHdr); - - /* and finally delete the wti object itself */ - free(pThis); - *ppThis = NULL; - - /* back to normal */ - pthread_setcancelstate(iCancelStateSave, NULL); - - RETiRet; -} +ENDobjDestruct(wti) /* Standard-Constructor for the wti object -- cgit