[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 29/33] main-loop: remove dead code
From: |
Paolo Bonzini |
Subject: |
[PULL 29/33] main-loop: remove dead code |
Date: |
Tue, 11 May 2021 04:13:46 -0400 |
qemu_add_child_watch is not called anywhere since commit 2bdb920ece
("slirp: simplify fork_exec()", 2019-01-14), remove it.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
include/qemu/main-loop.h | 18 ------------
util/main-loop.c | 61 ----------------------------------------
2 files changed, 79 deletions(-)
diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h
index d6892fd208..98aef5647c 100644
--- a/include/qemu/main-loop.h
+++ b/include/qemu/main-loop.h
@@ -234,24 +234,6 @@ void event_notifier_set_handler(EventNotifier *e,
GSource *iohandler_get_g_source(void);
AioContext *iohandler_get_aio_context(void);
-#ifdef CONFIG_POSIX
-/**
- * qemu_add_child_watch: Register a child process for reaping.
- *
- * Under POSIX systems, a parent process must read the exit status of
- * its child processes using waitpid, or the operating system will not
- * free some of the resources attached to that process.
- *
- * This function directs the QEMU main loop to observe a child process
- * and call waitpid as soon as it exits; the watch is then removed
- * automatically. It is useful whenever QEMU forks a child process
- * but will find out about its termination by other means such as a
- * "broken pipe".
- *
- * @pid: The pid that QEMU should observe.
- */
-int qemu_add_child_watch(pid_t pid);
-#endif
/**
* qemu_mutex_iothread_locked: Return lock status of the main loop mutex.
diff --git a/util/main-loop.c b/util/main-loop.c
index 5188ff6540..d9c55df6f5 100644
--- a/util/main-loop.c
+++ b/util/main-loop.c
@@ -591,64 +591,3 @@ void event_notifier_set_handler(EventNotifier *e,
aio_set_event_notifier(iohandler_ctx, e, false,
handler, NULL);
}
-
-/* reaping of zombies. right now we're not passing the status to
- anyone, but it would be possible to add a callback. */
-#ifndef _WIN32
-typedef struct ChildProcessRecord {
- int pid;
- QLIST_ENTRY(ChildProcessRecord) next;
-} ChildProcessRecord;
-
-static QLIST_HEAD(, ChildProcessRecord) child_watches =
- QLIST_HEAD_INITIALIZER(child_watches);
-
-static QEMUBH *sigchld_bh;
-
-static void sigchld_handler(int signal)
-{
- qemu_bh_schedule(sigchld_bh);
-}
-
-static void sigchld_bh_handler(void *opaque)
-{
- ChildProcessRecord *rec, *next;
-
- QLIST_FOREACH_SAFE(rec, &child_watches, next, next) {
- if (waitpid(rec->pid, NULL, WNOHANG) == rec->pid) {
- QLIST_REMOVE(rec, next);
- g_free(rec);
- }
- }
-}
-
-static void qemu_init_child_watch(void)
-{
- struct sigaction act;
- sigchld_bh = qemu_bh_new(sigchld_bh_handler, NULL);
-
- memset(&act, 0, sizeof(act));
- act.sa_handler = sigchld_handler;
- act.sa_flags = SA_NOCLDSTOP;
- sigaction(SIGCHLD, &act, NULL);
-}
-
-int qemu_add_child_watch(pid_t pid)
-{
- ChildProcessRecord *rec;
-
- if (!sigchld_bh) {
- qemu_init_child_watch();
- }
-
- QLIST_FOREACH(rec, &child_watches, next) {
- if (rec->pid == pid) {
- return 1;
- }
- }
- rec = g_malloc0(sizeof(ChildProcessRecord));
- rec->pid = pid;
- QLIST_INSERT_HEAD(&child_watches, rec, next);
- return 0;
-}
-#endif
--
2.26.2
- [PULL 14/33] i386: split svm_helper into sysemu and stub-only user, (continued)
- [PULL 14/33] i386: split svm_helper into sysemu and stub-only user, Paolo Bonzini, 2021/05/11
- [PULL 11/33] i386: move TCG bpt_helper into sysemu/, Paolo Bonzini, 2021/05/11
- [PULL 10/33] i386: split tcg excp_helper into sysemu and user parts, Paolo Bonzini, 2021/05/11
- [PULL 12/33] i386: split misc helper user stubs and sysemu part, Paolo Bonzini, 2021/05/11
- [PULL 15/33] i386: split seg_helper into user-only and sysemu parts, Paolo Bonzini, 2021/05/11
- [PULL 13/33] i386: separate fpu_helper sysemu-only parts, Paolo Bonzini, 2021/05/11
- [PULL 22/33] target/i386: merge SVM_NPTEXIT_* with PF_ERROR_* constants, Paolo Bonzini, 2021/05/11
- [PULL 32/33] configure: fix detection of gdbus-codegen, Paolo Bonzini, 2021/05/11
- [PULL 26/33] target/i386: extend pg_mode to more CR0 and CR4 bits, Paolo Bonzini, 2021/05/11
- [PULL 33/33] coverity-scan: list components, move model to scripts/coverity-scan, Paolo Bonzini, 2021/05/11
- [PULL 29/33] main-loop: remove dead code,
Paolo Bonzini <=
- [PULL 25/33] target/i386: pass cr3 to mmu_translate, Paolo Bonzini, 2021/05/11
- [PULL 24/33] target/i386: extract mmu_translate, Paolo Bonzini, 2021/05/11
- [PULL 28/33] target/i386: use mmu_translate for NPT walk, Paolo Bonzini, 2021/05/11
- [PULL 21/33] accel: add init_accel_cpu for adapting accel behavior to CPU type, Paolo Bonzini, 2021/05/11
- [PULL 27/33] target/i386: allow customizing the next phase of the translation, Paolo Bonzini, 2021/05/11
- [PULL 31/33] qemu-option: support accept-any QemuOptsList in qemu_opts_absorb_qdict, Paolo Bonzini, 2021/05/11
- [PULL 30/33] migration: do not restart VM after successful snapshot-load, Paolo Bonzini, 2021/05/11