From: Lennart Poettering Date: Wed, 27 Jan 2010 04:30:58 +0000 (+0100) Subject: fix an assert when forking X-Git-Tag: 0.git+20100605+dfd8ee-1~399 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2da3263ab6eed1780b000c09884ba9bf006c4891;p=systemd fix an assert when forking --- 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; }