aboutsummaryrefslogtreecommitdiff
path: root/vl.c
diff options
context:
space:
mode:
authorAnthony Liguori <aliguori@us.ibm.com>2010-03-17 17:59:26 -0500
committerAnthony Liguori <aliguori@us.ibm.com>2010-03-19 15:27:38 -0500
commitd7234f4d7e373a708e1df9ab565a71b71b189025 (patch)
treee4db9e84d66e448fdda3fe426fd3904eba8a5382 /vl.c
parent3b6304f706ef7eebc0b3b3f3a5093ec75448ee19 (diff)
Convert atexit users to exit_notifier
All of these users have global state so we really don't see a benefit from exit_notifier. However, using exit_notifier means that there's one less justification for having global state in the first place. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'vl.c')
-rw-r--r--vl.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/vl.c b/vl.c
index 183ec32a96..eda96aaa6c 100644
--- a/vl.c
+++ b/vl.c
@@ -533,7 +533,7 @@ static void configure_rtc(QemuOpts *opts)
}
#ifdef _WIN32
-static void socket_cleanup(void)
+static void socket_cleanup(Notifier *obj)
{
WSACleanup();
}
@@ -542,6 +542,7 @@ static int socket_init(void)
{
WSADATA Data;
int ret, err;
+ static Notifier notifier = { .notify = socket_cleanup };
ret = WSAStartup(MAKEWORD(2,2), &Data);
if (ret != 0) {
@@ -549,7 +550,7 @@ static int socket_init(void)
fprintf(stderr, "WSAStartup: %d\n", err);
return -1;
}
- atexit(socket_cleanup);
+ exit_notifier_add(&notifier);
return 0;
}
#endif
@@ -3768,6 +3769,8 @@ int main(int argc, char **argv, char **envp)
error_set_progname(argv[0]);
+ exit_notifier_init();
+
init_clocks();
qemu_cache_utils_init(envp);