deprecate epicsThreadExitMain()

This commit is contained in:
Michael Davidsaver
2020-11-17 10:24:16 -08:00
parent de3cdcef39
commit 1b8a1ebd07
5 changed files with 16 additions and 3 deletions
+6 -1
View File
@@ -59,6 +59,7 @@
#include <stddef.h>
#include "libComAPI.h"
#include "compilerDependencies.h"
#ifdef __cplusplus
extern "C" {
@@ -142,8 +143,12 @@ LIBCOM_API void epicsThreadRealtimeLock(void);
* call this routine. This should be the last call in main, except the
* final return. On most systems epicsThreadExitMain never returns.This
* must only be called by the main thread.
*
* @deprecated Deprecated for lack of use. Please report any usage.
* Recommended replacement is loop + epicsThreadSleep(),
* epicsEventMustWait(), or similar.
**/
LIBCOM_API void epicsStdCall epicsThreadExitMain(void);
LIBCOM_API void epicsStdCall epicsThreadExitMain(void) EPICS_DEPRECATED;
/** For use with epicsThreadCreateOpt() */
typedef struct epicsThreadOpts {
@@ -219,6 +219,8 @@ threadWrapper (rtems_task_argument arg)
*/
void epicsThreadExitMain (void)
{
cantProceed("epicsThreadExitMain() has been deprecated for lack of usage."
" Please report if you see this message.");
}
static rtems_status_code
+2 -1
View File
@@ -260,7 +260,8 @@ static void epicsParmCleanupWIN32 ( win32ThreadParam * pParm )
*/
LIBCOM_API void epicsStdCall epicsThreadExitMain ( void )
{
_endthread ();
cantProceed("epicsThreadExitMain() has been deprecated for lack of usage."
" Please report if you see this message.");
}
/*
@@ -687,6 +687,10 @@ LIBCOM_API void epicsStdCall epicsThreadExitMain(void)
epicsThreadOSD *pthreadInfo;
epicsThreadInit();
cantProceed("epicsThreadExitMain() has been deprecated for lack of usage."
" Please report if you see this message.");
pthreadInfo = (epicsThreadOSD *)pthread_getspecific(getpthreadInfo);
if(pthreadInfo==NULL)
pthreadInfo = createImplicit();
@@ -353,7 +353,8 @@ void epicsThreadResume(epicsThreadId id)
void epicsThreadExitMain(void)
{
errlogPrintf("epicsThreadExitMain was called for vxWorks. Why?\n");
cantProceed("epicsThreadExitMain() has been deprecated for lack of usage."
" Please report if you see this message.");
}
unsigned int epicsThreadGetPriority(epicsThreadId id)