![]() |
This is Unofficial EPICS BASE Doxygen Site
|
Extended replacement for the Posix exit and atexit routines. More...
#include <libComAPI.h>
Go to the source code of this file.
Macros | |
#define | epicsAtExit(F, A) epicsAtExit3(F,A,#F) |
Convenience macro to register a function and context value to be run when the process exits. More... | |
Typedefs | |
typedef void(* | epicsExitFunc) (void *arg) |
Pointer to a callback function that is to be called by the epicsExit subsystem. More... | |
Functions | |
LIBCOM_API void | epicsExit (int status) |
Calls epicsExitCallAtExits(), then the OS exit() routine. More... | |
LIBCOM_API void | epicsExitLater (int status) |
Arrange to call epicsExit() later from a low priority thread. More... | |
LIBCOM_API void | epicsExitCallAtExits (void) |
Internal routine that runs the registered exit routines. More... | |
LIBCOM_API int | epicsAtExit3 (epicsExitFunc func, void *arg, const char *name) |
Register a function and an associated context parameter. More... | |
LIBCOM_API void | epicsExitCallAtThreadExits (void) |
Internal routine that runs the registered thread exit routines. More... | |
LIBCOM_API int | epicsAtThreadExit (epicsExitFunc func, void *arg) |
Register a function and an context value to be run by this thread when it returns from its entry routine. More... | |
Extended replacement for the Posix exit and atexit routines.
This is an extended replacement for the Posix exit and atexit routines, which also provides a pointer argument to pass to the exit handlers. This facility was created because of problems on vxWorks and windows with the implementation of atexit, i.e. neither of these systems implement exit and atexit according to the POSIX standard.
Definition in file epicsExit.h.
#define epicsAtExit | ( | F, | |
A | |||
) | epicsAtExit3(F,A,#F) |
Convenience macro to register a function and context value to be run when the process exits.
F | Function to be called at process shutdown. |
A | Context parameter for the function. |
Definition at line 70 of file epicsExit.h.
typedef void(* epicsExitFunc) (void *arg) |
Pointer to a callback function that is to be called by the epicsExit subsystem.
Definition at line 34 of file epicsExit.h.
LIBCOM_API int epicsAtExit3 | ( | epicsExitFunc | func, |
void * | arg, | ||
const char * | name | ||
) |
Register a function and an associated context parameter.
func | Function to be called when epicsExitCallAtExits is invoked. |
arg | Context parameter for the function. |
name | Function name |
Definition at line 166 of file epicsExit.c.
LIBCOM_API int epicsAtThreadExit | ( | epicsExitFunc | func, |
void * | arg | ||
) |
Register a function and an context value to be run by this thread when it returns from its entry routine.
func | Function be called at thread completion. |
arg | Context parameter for the function. |
Definition at line 150 of file epicsExit.c.
LIBCOM_API void epicsExit | ( | int | status | ) |
Calls epicsExitCallAtExits(), then the OS exit() routine.
status | Passed to exit() |
Definition at line 182 of file epicsExit.c.
LIBCOM_API void epicsExitCallAtExits | ( | void | ) |
Internal routine that runs the registered exit routines.
Calls each of the functions registered by prior calls to epicsAtExit in reverse order of their registration.
Definition at line 102 of file epicsExit.c.
LIBCOM_API void epicsExitCallAtThreadExits | ( | void | ) |
Internal routine that runs the registered thread exit routines.
Calls each of the functions that were registered in the current thread by calling epicsAtThreadExit(), in reverse order of their registration.
Definition at line 121 of file epicsExit.c.
LIBCOM_API void epicsExitLater | ( | int | status | ) |
Arrange to call epicsExit() later from a low priority thread.
This delays the actual call to exit() so it doesn't run in this thread.
status | Passed to exit() |
Definition at line 204 of file epicsExit.c.