doc for: posix: use pthread_key_create() to cleanup epicsThreadOSD

This commit is contained in:
Michael Davidsaver
2022-05-09 16:08:46 -07:00
parent 7cf2a1daca
commit 2f8272d3a1
5 changed files with 18 additions and 8 deletions
+14
View File
@@ -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
+1 -2
View File
@@ -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");
}
/*
+1 -2
View File
@@ -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)