doc for: posix: use pthread_key_create() to cleanup epicsThreadOSD
This commit is contained in:
@@ -23,6 +23,20 @@ SIMM=RAW support has been added for the relevant output record types
|
||||
RAW simulation mode will have those records do the appropriate conversion
|
||||
and write RVAL to the location pointed to by SIOL.
|
||||
|
||||
### Fixed leak from a non-EPICS thread
|
||||
|
||||
On some targets, if a thread not created by `epicsThreadCreate*()` directly
|
||||
or indirectly calls an `epicsThread*()` function, a specific tracking struct
|
||||
is allocated.
|
||||
|
||||
Prior to this release, on POSIX and WIN32 targets, this
|
||||
struct would not be `free()`d, resulting in a memory leak.
|
||||
|
||||
This release fixed the leak on POSIX targets.
|
||||
|
||||
See the associated github [issue 241](https://github.com/epics-base/epics-base/issues/241)
|
||||
for WIN32 status.
|
||||
|
||||
### Fix `CHECK_RELEASE = WARN`
|
||||
|
||||
This now works again, it was broken in 2019 (7.0.3.1) by an errant commit.
|
||||
|
||||
@@ -219,8 +219,7 @@ threadWrapper (rtems_task_argument arg)
|
||||
*/
|
||||
void epicsThreadExitMain (void)
|
||||
{
|
||||
cantProceed("epicsThreadExitMain() has been deprecated for lack of usage."
|
||||
" Please report if you see this message.");
|
||||
cantProceed("epicsThreadExitMain() must no longer be used.\n");
|
||||
}
|
||||
|
||||
static rtems_status_code
|
||||
|
||||
@@ -260,8 +260,7 @@ static void epicsParmCleanupWIN32 ( win32ThreadParam * pParm )
|
||||
*/
|
||||
LIBCOM_API void epicsStdCall epicsThreadExitMain ( void )
|
||||
{
|
||||
cantProceed("epicsThreadExitMain() has been deprecated for lack of usage."
|
||||
" Please report if you see this message.");
|
||||
cantProceed("epicsThreadExitMain() must no longer be used.\n");
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -723,8 +723,7 @@ LIBCOM_API void epicsStdCall epicsThreadExitMain(void)
|
||||
|
||||
epicsThreadInit();
|
||||
|
||||
cantProceed("epicsThreadExitMain() has been deprecated for lack of usage."
|
||||
" Please report if you see this message.");
|
||||
cantProceed("epicsThreadExitMain() must no longer be used.\n");
|
||||
|
||||
pthreadInfo = (epicsThreadOSD *)pthread_getspecific(getpthreadInfo);
|
||||
if(pthreadInfo==NULL)
|
||||
|
||||
@@ -353,8 +353,7 @@ void epicsThreadResume(epicsThreadId id)
|
||||
|
||||
void epicsThreadExitMain(void)
|
||||
{
|
||||
cantProceed("epicsThreadExitMain() has been deprecated for lack of usage."
|
||||
" Please report if you see this message.");
|
||||
cantProceed("epicsThreadExitMain() must no longer be used.\n");
|
||||
}
|
||||
|
||||
unsigned int epicsThreadGetPriority(epicsThreadId id)
|
||||
|
||||
Reference in New Issue
Block a user