Introduce new S_GLOBAL_SHUTDOWN signal

This is used to notify various parts of OpenBSC that we're shutting
down.
This commit is contained in:
Harald Welte 2009-11-30 19:37:18 +01:00
parent b84ddfc22f
commit 3961fcc031
2 changed files with 7 additions and 0 deletions

View File

@ -40,6 +40,7 @@ enum signal_subsystems {
SS_LCHAN,
SS_SUBSCR,
SS_SCALL,
SS_GLOBAL,
};
/* SS_PAGING signals */
@ -99,6 +100,10 @@ enum signal_scall {
S_SCALL_DETACHED,
};
enum signal_global {
S_GLOBAL_SHUTDOWN,
};
typedef int signal_cbfn(unsigned int subsys, unsigned int signal,
void *handler_data, void *signal_data);

View File

@ -35,6 +35,7 @@
#include <openbsc/debug.h>
#include <openbsc/e1_input.h>
#include <openbsc/talloc.h>
#include <openbsc/signal.h>
/* MCC and MNC for the Location Area Identifier */
struct gsm_network *bsc_gsmnet = 0;
@ -143,6 +144,7 @@ static void signal_handler(int signal)
switch (signal) {
case SIGINT:
bsc_shutdown_net(bsc_gsmnet);
dispatch_signal(SS_GLOBAL, S_GLOBAL_SHUTDOWN, NULL);
sleep(3);
exit(0);
break;