diff options
author | Paolo Bonzini | 2016-07-08 17:28:34 +0200 |
---|---|---|
committer | Paolo Bonzini | 2016-07-13 13:30:00 +0200 |
commit | 8caf911d3316b6eccc503cff0d9a68cf922950f1 (patch) | |
tree | ee13b636f718e650c665bbbeecfc9f39b45ad710 | |
parent | slirp: use exit notifier for slirp_smb_cleanup (diff) | |
download | qemu-8caf911d3316b6eccc503cff0d9a68cf922950f1.tar.gz qemu-8caf911d3316b6eccc503cff0d9a68cf922950f1.tar.xz qemu-8caf911d3316b6eccc503cff0d9a68cf922950f1.zip |
net: do not use atexit for cleanup
This will be necessary in the next patch, which stops using atexit for
character devices; without it, vhost-user and the redirector filter
will cause a use-after-free. Relying on the ordering of atexit calls
is also brittle, even now that both the network and chardev
subsystems are using atexit.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | vl.c | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -4345,9 +4345,6 @@ int main(int argc, char **argv, char **envp) qemu_opts_del(icount_opts); } - /* clean up network at qemu process termination */ - atexit(&net_cleanup); - if (default_net) { QemuOptsList *net = qemu_find_opts("net"); qemu_opts_set(net, NULL, "type", "nic", &error_abort); @@ -4611,5 +4608,7 @@ int main(int argc, char **argv, char **envp) tpm_cleanup(); #endif + net_cleanup(); + return 0; } |