[git commit] init: utmp update of DEAD_PROCESS was misplaced, and could be skipped. Fixing.

Denys Vlasenko vda.linux at googlemail.com
Mon Dec 5 02:31:05 UTC 2011


commit: http://git.busybox.net/busybox/commit/?id=beb860ac758a5b08f4270da03a5f894f95816109
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 init/init.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/init/init.c b/init/init.c
index 645f694..864ee6a 100644
--- a/init/init.c
+++ b/init/init.c
@@ -523,15 +523,17 @@ static struct init_action *mark_terminated(pid_t pid)
 	struct init_action *a;
 
 	if (pid > 0) {
+		update_utmp(pid, DEAD_PROCESS,
+				/*tty_name:*/ NULL,
+				/*username:*/ NULL,
+				/*hostname:*/ NULL
+		);
 		for (a = init_action_list; a; a = a->next) {
 			if (a->pid == pid) {
 				a->pid = 0;
 				return a;
 			}
 		}
-		update_utmp(pid, DEAD_PROCESS, /*tty_name:*/ NULL,
-				/*username:*/ NULL,
-				/*hostname:*/ NULL);
 	}
 	return NULL;
 }


More information about the busybox-cvs mailing list