diff options
Diffstat (limited to 'vl.c')
-rw-r--r-- | vl.c | 27 |
1 files changed, 27 insertions, 0 deletions
@@ -150,6 +150,7 @@ int main(int argc, char **argv) #include "qemu-option.h" #include "qemu-config.h" #include "qemu-objects.h" +#include "notify.h" #include "disas.h" @@ -553,6 +554,32 @@ static int socket_init(void) } #endif +/*********************/ +/* Exit notifiers */ +/*********************/ + +static NotifierList exit_notifiers = NOTIFIER_LIST_INITIALIZER(exit_notifiers); + +void exit_notifier_add(Notifier *notifier) +{ + notifier_list_add(&exit_notifiers, notifier); +} + +void exit_notifier_remove(Notifier *notifier) +{ + notifier_list_remove(&exit_notifiers, notifier); +} + +static void exit_notifier_notify(void) +{ + notifier_list_notify(&exit_notifiers); +} + +static void exit_notifier_init(void) +{ + atexit(exit_notifier_notify); +} + /***********************************************************/ /* Bluetooth support */ static int nb_hcis; |