uint64_t srvid;
};
+static pid_t helper_pid;
+
static void usage(const char *command);
/*
static int run_helper(TALLOC_CTX *mem_ctx, const char *command,
const char *path, int argc, const char **argv)
{
- pid_t pid;
int save_errno, status, ret;
const char **new_argv;
int i;
}
new_argv[argc+1] = NULL;
- pid = fork();
- if (pid < 0) {
+ helper_pid = fork();
+ if (helper_pid < 0) {
save_errno = errno;
talloc_free(new_argv);
fprintf(stderr, "Failed to fork %s (%s) - %s\n",
return save_errno;
}
- if (pid == 0) {
+ if (helper_pid == 0) {
ret = execv(path, discard_const(new_argv));
if (ret == -1) {
_exit(64+errno);
talloc_free(new_argv);
- ret = waitpid(pid, &status, 0);
+ ret = waitpid(helper_pid, &status, 0);
if (ret == -1) {
save_errno = errno;
fprintf(stderr, "waitpid() failed for %s - %s\n",