From 6b9bfb09a5c675c154131f90f8f9b5f4c299b707 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Wed, 16 Mar 2016 17:43:52 -0400 Subject: [PATCH] pWaitRelease in wrong place waitRelease==false indicates that pThread has not be delete'd --- src/libCom/osi/epicsThread.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libCom/osi/epicsThread.cpp b/src/libCom/osi/epicsThread.cpp index a4124c216..4053e55ce 100644 --- a/src/libCom/osi/epicsThread.cpp +++ b/src/libCom/osi/epicsThread.cpp @@ -104,12 +104,12 @@ extern "C" void epicsThreadCallEntryPoint ( void * pPvt ) } if ( ! waitRelease ) { epicsGuard < epicsMutex > guard ( pThread->mutex ); + pThread->pWaitReleaseFlag = NULL; pThread->terminated = true; pThread->exitEvent.signal (); // once the terminated flag is set and we release the lock // then the "this" pointer must not be touched again } - pThread->pWaitReleaseFlag = NULL; } bool epicsThread::beginWait () throw ()