Ack /Hans > -----Original Message----- > From: Hans Nordebäck > Sent: den 10 december 2013 10:38 > To: Anders Widell; Hans Feldt; [email protected] > Cc: [email protected] > Subject: [PATCH 1 of 1] base: use _Exit instead of exit in daemon_exit #581 > > osaf/libs/core/common/daemon.c | 8 +++++++- > 1 files changed, 7 insertions(+), 1 deletions(-) > > > use _Exit instead of exit in daemon_exit. The change was done due to > that exit() is not thread safe, see e.g. ticket #651. > To make it possible to dump e.g. coverage data on termination > a weak reference to __gcov_flush has been added. > > diff --git a/osaf/libs/core/common/daemon.c b/osaf/libs/core/common/daemon.c > --- a/osaf/libs/core/common/daemon.c > +++ b/osaf/libs/core/common/daemon.c > @@ -43,6 +43,8 @@ > > #define DEFAULT_RUNAS_USERNAME "opensaf" > > +extern void __gcov_flush(void) __attribute__((weak)); > + > static char __pidfile[NAME_MAX]; > static char __tracefile[NAME_MAX]; > static char __runas_username[UT_NAMESIZE]; > @@ -364,7 +366,11 @@ static void sigterm_handler(int sig) > void daemon_exit(void) > { > syslog(LOG_NOTICE, "exiting on signal %d", SIGTERM); > - exit(0); > + > + if (__gcov_flush) { > + __gcov_flush(); > + } > + _Exit(0); > } > > /**
------------------------------------------------------------------------------ Sponsored by Intel(R) XDK Develop, test and display web and hybrid apps with a single code base. Download it for free now! http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
