summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--curses.c3
-rw-r--r--hw/xen_backend.h2
-rw-r--r--hw/xen_devconfig.c2
-rw-r--r--hw/xen_domainbuild.c5
-rw-r--r--hw/xen_machine_pv.c3
-rw-r--r--qemu-char.c11
-rw-r--r--sdl.c5
-rw-r--r--vl.c7
8 files changed, 12 insertions, 26 deletions
diff --git a/curses.c b/curses.c
index 44ab1a52c9..b78c4689cb 100644
--- a/curses.c
+++ b/curses.c
@@ -333,7 +333,6 @@ static void curses_keyboard_setup(void)
void curses_display_init(DisplayState *ds, int full_screen)
{
DisplayChangeListener *dcl;
- static Notifier notifier = { .notify = curses_atexit };
#ifndef _WIN32
if (!isatty(1)) {
fprintf(stderr, "We need a terminal output\n");
@@ -343,7 +342,7 @@ void curses_display_init(DisplayState *ds, int full_screen)
curses_setup();
curses_keyboard_setup();
- exit_notifier_add(&notifier);
+ atexit(curses_atexit);
#ifndef _WIN32
#if defined(SIGWINCH) && defined(KEY_RESIZE)
diff --git a/hw/xen_backend.h b/hw/xen_backend.h
index 991a7b7d54..f07f7d4224 100644
--- a/hw/xen_backend.h
+++ b/hw/xen_backend.h
@@ -97,7 +97,7 @@ extern struct XenDevOps xen_netdev_ops; /* xen_nic.c */
void xen_init_display(int domid);
/* configuration (aka xenbus setup) */
-void xen_config_cleanup(Notifier *notifier);
+void xen_config_cleanup(void);
int xen_config_dev_blk(DriveInfo *disk);
int xen_config_dev_nic(NICInfo *nic);
int xen_config_dev_vfb(int vdev, const char *type);
diff --git a/hw/xen_devconfig.c b/hw/xen_devconfig.c
index 028f47ecb5..ea8f8c4c2d 100644
--- a/hw/xen_devconfig.c
+++ b/hw/xen_devconfig.c
@@ -17,7 +17,7 @@ static void xen_config_cleanup_dir(char *dir)
QTAILQ_INSERT_TAIL(&xs_cleanup, d, list);
}
-void xen_config_cleanup(Notifier *notifier)
+void xen_config_cleanup(void)
{
struct xs_dirs *d;
diff --git a/hw/xen_domainbuild.c b/hw/xen_domainbuild.c
index b735ca453d..2f59856f73 100644
--- a/hw/xen_domainbuild.c
+++ b/hw/xen_domainbuild.c
@@ -211,7 +211,7 @@ static int xen_domain_watcher(void)
}
/* normal cleanup */
-static void xen_domain_cleanup(Notifier *notifier)
+static void xen_domain_cleanup(void)
{
char *dom;
@@ -232,7 +232,6 @@ int xen_domain_build_pv(const char *kernel, const char *ramdisk,
unsigned int xenstore_port = 0, console_port = 0;
unsigned long xenstore_mfn = 0, console_mfn = 0;
int rc;
- static Notifier exit_notifier = { .notify = xen_domain_cleanup };
memcpy(uuid, qemu_uuid, sizeof(uuid));
rc = xc_domain_create(xen_xc, ssidref, uuid, flags, &xen_domid);
@@ -241,7 +240,7 @@ int xen_domain_build_pv(const char *kernel, const char *ramdisk,
goto err;
}
qemu_log("xen: created domain %d\n", xen_domid);
- exit_notifier_add(&exit_notifier);
+ atexit(xen_domain_cleanup);
if (xen_domain_watcher() == -1) {
goto err;
}
diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c
index fe7d35cf89..162f88db33 100644
--- a/hw/xen_machine_pv.c
+++ b/hw/xen_machine_pv.c
@@ -42,7 +42,6 @@ static void xen_init_pv(ram_addr_t ram_size,
CPUState *env;
DriveInfo *dinfo;
int i;
- static Notifier exit_notifier = { .notify = xen_config_cleanup };
/* Initialize a dummy CPU */
if (cpu_model == NULL) {
@@ -106,7 +105,7 @@ static void xen_init_pv(ram_addr_t ram_size,
}
/* config cleanup hook */
- exit_notifier_add(&exit_notifier);
+ atexit(xen_config_cleanup);
/* setup framebuffer */
xen_init_display(xen_domid);
diff --git a/qemu-char.c b/qemu-char.c
index c02dfae43a..a3d6e64967 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -713,15 +713,9 @@ static void term_exit(void)
fcntl(0, F_SETFL, old_fd0_flags);
}
-static void term_exit_notifier(Notifier *notifier)
-{
- term_exit();
-}
-
static void term_init(QemuOpts *opts)
{
struct termios tty;
- static Notifier exit_notifier = { .notify = term_exit_notifier };
tcgetattr (0, &tty);
oldtty = tty;
@@ -741,9 +735,8 @@ static void term_init(QemuOpts *opts)
tcsetattr (0, TCSANOW, &tty);
- if (!term_atexit_done++) {
- exit_notifier_add(&exit_notifier);
- }
+ if (!term_atexit_done++)
+ atexit(term_exit);
fcntl(0, F_SETFL, O_NONBLOCK);
}
diff --git a/sdl.c b/sdl.c
index 8dc78cd959..16a48e92cb 100644
--- a/sdl.c
+++ b/sdl.c
@@ -827,7 +827,7 @@ static void sdl_mouse_define(int width, int height, int bpp,
SDL_SetCursor(guest_sprite);
}
-static void sdl_cleanup(Notifier *notifier)
+static void sdl_cleanup(void)
{
if (guest_sprite)
SDL_FreeCursor(guest_sprite);
@@ -840,7 +840,6 @@ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame)
uint8_t data = 0;
DisplayAllocator *da;
const SDL_VideoInfo *vi;
- static Notifier exit_notifier = { .notify = sdl_cleanup };
#if defined(__APPLE__)
/* always use generic keymaps */
@@ -893,7 +892,7 @@ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame)
sdl_cursor_hidden = SDL_CreateCursor(&data, &data, 8, 1, 0, 0);
sdl_cursor_normal = SDL_GetCursor();
- exit_notifier_add(&exit_notifier);
+ atexit(sdl_cleanup);
if (full_screen) {
gui_fullscreen = 1;
gui_fullscreen_initial_grab = 1;
diff --git a/vl.c b/vl.c
index 8274c1ddda..26b638c11d 100644
--- a/vl.c
+++ b/vl.c
@@ -537,7 +537,7 @@ static void configure_rtc(QemuOpts *opts)
}
#ifdef _WIN32
-static void socket_cleanup(Notifier *obj)
+static void socket_cleanup(void)
{
WSACleanup();
}
@@ -546,7 +546,6 @@ 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) {
@@ -554,7 +553,7 @@ static int socket_init(void)
fprintf(stderr, "WSAStartup: %d\n", err);
return -1;
}
- exit_notifier_add(&notifier);
+ atexit(socket_cleanup);
return 0;
}
#endif
@@ -3803,8 +3802,6 @@ int main(int argc, char **argv, char **envp)
error_set_progname(argv[0]);
- exit_notifier_init();
-
init_clocks();
qemu_cache_utils_init(envp);