From: Florian Forster Date: Tue, 9 Mar 2010 17:50:32 +0000 (+0100) Subject: Exec plugin: Reset the "PL_RUNNING" if "fork_child()" fails. X-Git-Tag: collectd-4.8.4~15 X-Git-Url: https://git.octo.it/?p=collectd.git;a=commitdiff_plain;h=66c0d62a769d8bb363c8d19e82896d6cf5bdcc2b Exec plugin: Reset the "PL_RUNNING" if "fork_child()" fails. --- diff --git a/src/exec.c b/src/exec.c index 3a72ebac..95a6831a 100644 --- a/src/exec.c +++ b/src/exec.c @@ -537,7 +537,13 @@ static void *exec_read_one (void *arg) /* {{{ */ status = fork_child (pl, NULL, &fd, &fd_err); if (status < 0) + { + /* Reset the "running" flag */ + pthread_mutex_lock (&pl_lock); + pl->flags &= ~PL_RUNNING; + pthread_mutex_unlock (&pl_lock); pthread_exit ((void *) 1); + } pl->pid = status; assert (pl->pid != 0);