From 2da3263ab6eed1780b000c09884ba9bf006c4891 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 27 Jan 2010 05:30:58 +0100 Subject: [PATCH] fix an assert when forking --- execute.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/execute.c b/execute.c index f3b4df93..5def5ce1 100644 --- a/execute.c +++ b/execute.c @@ -86,7 +86,7 @@ static int shift_fds(int fds[], unsigned n_fds) { if ((nfd = fcntl(fds[i], F_DUPFD, i+3)) < 0) return -errno; - assert_se(close_nointr(fds[i])); + assert_se(close_nointr(fds[i]) == 0); fds[i] = nfd; /* Hmm, the fd we wanted isn't free? Then @@ -112,7 +112,7 @@ int exec_spawn(const ExecCommand *command, const ExecContext *context, int *fds, assert(ret); assert(fds || n_fds <= 0); - log_debug("About to execute %s", command->path); + log_debug("about to execute %s", command->path); if ((pid = fork()) < 0) return -errno; @@ -193,6 +193,9 @@ int exec_spawn(const ExecCommand *command, const ExecContext *context, int *fds, _exit(r); } + + log_debug("executed %s as %llu", command->path, (unsigned long long) pid); + *ret = pid; return 0; } -- 2.39.5