summaryrefslogtreecommitdiffstats
path: root/slirp/slirp.c
diff options
context:
space:
mode:
authorAnthony Liguori2012-03-13 19:56:13 +0100
committerAnthony Liguori2012-03-13 19:56:13 +0100
commit3e7ecd976b06fc9054a34bda093a70efae99588b (patch)
treebd4aa371069fb6709f3f8e38c157b3c3185b45b5 /slirp/slirp.c
parentMerge remote-tracking branch 'kraxel/usb.44' into staging (diff)
parentslirp: Fix compiler warning for w64 (diff)
downloadqemu-3e7ecd976b06fc9054a34bda093a70efae99588b.tar.gz
qemu-3e7ecd976b06fc9054a34bda093a70efae99588b.tar.xz
qemu-3e7ecd976b06fc9054a34bda093a70efae99588b.zip
Merge remote-tracking branch 'kiszka/queues/slirp' into staging
* kiszka/queues/slirp: slirp: Fix compiler warning for w64 slirp: Cleanup resources on instance removal slirp: Remove unneeded if_queued slirp: Fix queue walking in if_start slirp: Prevent recursion of if_start slirp: Keep next_m always valid
Diffstat (limited to 'slirp/slirp.c')
-rw-r--r--slirp/slirp.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/slirp/slirp.c b/slirp/slirp.c
index 19d69eb623..1502830978 100644
--- a/slirp/slirp.c
+++ b/slirp/slirp.c
@@ -246,6 +246,9 @@ void slirp_cleanup(Slirp *slirp)
unregister_savevm(NULL, "slirp", slirp);
+ ip_cleanup(slirp);
+ m_cleanup(slirp);
+
g_free(slirp->tftp_prefix);
g_free(slirp->bootp_filename);
g_free(slirp);
@@ -581,12 +584,7 @@ void slirp_select_poll(fd_set *readfds, fd_set *writefds, fd_set *xfds,
}
}
- /*
- * See if we can start outputting
- */
- if (slirp->if_queued) {
- if_start(slirp);
- }
+ if_start(slirp);
}
/* clear global file descriptor sets.