summaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
authorStef Walter <stefw@gnome.org>2012-04-24 11:32:04 +0200
committerStephen Gallagher <sgallagh@redhat.com>2012-05-01 14:22:50 -0400
commitc8a124ac1b03d83016bda02cad5a369ce6fb1cd7 (patch)
tree9f5ea0df345b3ae8008d1a3cd6c3398dfc67bf13 /src/util
parent24ba5b87c9a2c01deddc9be867e4951e2a397146 (diff)
downloadsssd_unused-c8a124ac1b03d83016bda02cad5a369ce6fb1cd7.tar.gz
sssd_unused-c8a124ac1b03d83016bda02cad5a369ce6fb1cd7.tar.xz
sssd_unused-c8a124ac1b03d83016bda02cad5a369ce6fb1cd7.zip
execv, excvp and exec_child never return EOK
* So don't need to handle that case
Diffstat (limited to 'src/util')
-rw-r--r--src/util/child_common.c12
-rw-r--r--src/util/child_common.h1
2 files changed, 5 insertions, 8 deletions
diff --git a/src/util/child_common.c b/src/util/child_common.c
index 05f00b0f..5f0b2659 100644
--- a/src/util/child_common.c
+++ b/src/util/child_common.c
@@ -695,14 +695,10 @@ errno_t exec_child(TALLOC_CTX *mem_ctx,
return ret;
}
- ret = execv(binary, argv);
- if (ret == -1) {
- err = errno;
- DEBUG(1, ("execv failed [%d][%s].\n", err, strerror(err)));
- return err;
- }
-
- return EOK;
+ execv(binary, argv);
+ err = errno;
+ DEBUG(SSSDBG_OP_FAILURE, ("execv failed [%d][%s].\n", err, strerror(err)));
+ return err;
}
void child_cleanup(int readfd, int writefd)
diff --git a/src/util/child_common.h b/src/util/child_common.h
index 1e9f1b6c..237969f2 100644
--- a/src/util/child_common.h
+++ b/src/util/child_common.h
@@ -100,6 +100,7 @@ void child_sig_handler(struct tevent_context *ev,
struct tevent_signal *sige, int signum,
int count, void *__siginfo, void *pvt);
+/* Never returns EOK, ether returns an error, or doesn't return on success */
errno_t exec_child(TALLOC_CTX *mem_ctx,
int *pipefd_to_child, int *pipefd_from_child,
const char *binary, int debug_fd);