epicsExit
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
|
||||
#include <new>
|
||||
#include <float.h>
|
||||
#include <epicsExit.h>
|
||||
|
||||
#define epicsAssertAuthor "Jeff Hill johill@lanl.gov"
|
||||
|
||||
@@ -125,7 +126,7 @@ const char * ca_message_text []
|
||||
|
||||
static epicsThreadOnceId caClientContextIdOnce = EPICS_THREAD_ONCE_INIT;
|
||||
|
||||
extern "C" void ca_client_exit_handler ()
|
||||
extern "C" void ca_client_exit_handler (void *)
|
||||
{
|
||||
if ( caClientContextId ) {
|
||||
epicsThreadPrivateDelete ( caClientContextId );
|
||||
@@ -138,7 +139,7 @@ extern "C" void ca_init_client_context ( void * )
|
||||
{
|
||||
caClientContextId = epicsThreadPrivateCreate ();
|
||||
if ( caClientContextId ) {
|
||||
atexit ( ca_client_exit_handler );
|
||||
epicsAtExit ( ca_client_exit_handler,0 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <stdexcept>
|
||||
|
||||
#include <stdio.h>
|
||||
#include "epicsExit.h"
|
||||
|
||||
#define epicsExportSharedSymbols
|
||||
#include "iocinf.h"
|
||||
@@ -40,7 +41,7 @@ epicsShareDef epicsThreadPrivateId caClientCallbackThreadId;
|
||||
|
||||
static epicsThreadOnceId cacOnce = EPICS_THREAD_ONCE_INIT;
|
||||
|
||||
extern "C" void cacExitHandler ()
|
||||
extern "C" void cacExitHandler (void *)
|
||||
{
|
||||
epicsThreadPrivateDelete ( caClientCallbackThreadId );
|
||||
}
|
||||
@@ -50,7 +51,7 @@ extern "C" void cacOnceFunc ( void * )
|
||||
{
|
||||
caClientCallbackThreadId = epicsThreadPrivateCreate ();
|
||||
assert ( caClientCallbackThreadId );
|
||||
atexit ( cacExitHandler );
|
||||
epicsAtExit ( cacExitHandler,0 );
|
||||
}
|
||||
|
||||
extern epicsThreadPrivateId caClientContextId;
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "epicsExit.h"
|
||||
#include "epicsThread.h"
|
||||
#include "iocsh.h"
|
||||
|
||||
@@ -17,5 +18,6 @@ int main(int argc,char *argv[])
|
||||
epicsThreadSleep(.2);
|
||||
}
|
||||
iocsh(NULL);
|
||||
epicsExit(0);
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
|
||||
#include "registryFunction.h"
|
||||
#include "epicsThread.h"
|
||||
#include "epicsExit.h"
|
||||
#include "dbStaticLib.h"
|
||||
#include "subRecord.h"
|
||||
#include "dbAccess.h"
|
||||
@@ -74,7 +75,7 @@ const char *base_dbd = DBD_FILE(EPICS_BASE);
|
||||
|
||||
|
||||
static void exitSubroutine(subRecord *precord) {
|
||||
exit((precord->a == 0.0) ? EXIT_SUCCESS : EXIT_FAILURE);
|
||||
epicsExit((precord->a == 0.0) ? EXIT_SUCCESS : EXIT_FAILURE);
|
||||
}
|
||||
|
||||
static void usage(int status) {
|
||||
@@ -83,7 +84,7 @@ static void usage(int status) {
|
||||
puts("\t[st.cmd]");
|
||||
puts("Compiled-in default path to softIoc.dbd is:");
|
||||
printf("\t%s\n", base_dbd);
|
||||
exit(status);
|
||||
epicsExit(status);
|
||||
}
|
||||
|
||||
|
||||
@@ -115,7 +116,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
if (dbLoadDatabase(dbd_file, NULL, NULL)) {
|
||||
exit(EXIT_FAILURE);
|
||||
epicsExit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
softIoc_registerRecordDeviceDriver(pdbbase);
|
||||
@@ -131,7 +132,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
case 'd':
|
||||
if (dbLoadRecords(*++argv, macros)) {
|
||||
exit(EXIT_FAILURE);
|
||||
epicsExit(EXIT_FAILURE);
|
||||
}
|
||||
loadedDb = 1;
|
||||
--argc;
|
||||
@@ -187,7 +188,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* run user's startup script */
|
||||
if (argc>0) {
|
||||
if (iocsh(*argv)) exit(EXIT_FAILURE);
|
||||
if (iocsh(*argv)) epicsExit(EXIT_FAILURE);
|
||||
epicsThreadSleep(0.2);
|
||||
loadedDb = 1; /* Give it the benefit of the doubt... */
|
||||
}
|
||||
@@ -203,5 +204,7 @@ int main(int argc, char *argv[])
|
||||
usage(EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
return EXIT_SUCCESS;
|
||||
epicsExit( EXIT_SUCCESS);
|
||||
/*Note that the following statement will never be executed*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user