From 28ab2c446fba4980a8295d59fdf203a028a35dd6 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 17 Jul 2020 22:35:36 +0200 Subject: avoid boolean flag in GNUNET_OS_start_process() API (fixes #6188) --- src/arm/arm_api.c | 12 ++---- src/arm/gnunet-service-arm.c | 25 ++++++----- src/core/test_core_api.c | 4 +- src/core/test_core_api_reliability.c | 4 +- src/core/test_core_api_start_only.c | 4 +- src/core/test_core_quota_compliance.c | 4 +- src/fs/gnunet-auto-share.c | 3 +- src/gns/gnunet-gns-import.c | 30 ++++++------- src/hostlist/test_gnunet_daemon_hostlist.c | 4 +- .../test_gnunet_daemon_hostlist_learning.c | 7 +-- .../test_gnunet_daemon_hostlist_reconnect.c | 4 +- src/include/gnunet_os_lib.h | 27 +++++------- src/nat/gnunet-service-nat_helper.c | 6 +-- src/nat/gnunet-service-nat_mini.c | 3 +- src/nat/test_nat_test.c | 4 +- src/nat/test_stun.c | 4 +- src/pq/pq_connect.c | 3 +- src/statistics/test_statistics_api.c | 8 ++-- src/statistics/test_statistics_api_loop.c | 3 +- src/statistics/test_statistics_api_watch.c | 3 +- .../test_statistics_api_watch_zero_value.c | 3 +- src/testbed/gnunet-helper-testbed.c | 9 +--- src/testbed/testbed_api_hosts.c | 3 +- src/testing/testing.c | 12 +----- src/transport/plugin_transport_http_server.c | 2 +- src/transport/transport-testing2.c | 12 +++--- src/util/gnunet-qr.c | 3 +- src/util/gnunet-uri.c | 3 +- src/util/helper.c | 5 ++- src/util/os_priority.c | 50 ++++++++-------------- src/util/test_common_logging_runtime_loglevels.c | 2 +- src/util/test_os_start_process.c | 8 ++-- src/util/test_resolver_api.c | 4 +- 33 files changed, 123 insertions(+), 155 deletions(-) (limited to 'src') diff --git a/src/arm/arm_api.c b/src/arm/arm_api.c index cd5f44565..dea7a70be 100644 --- a/src/arm/arm_api.c +++ b/src/arm/arm_api.c @@ -729,8 +729,7 @@ start_arm_service (struct GNUNET_ARM_Handle *h, /* Means we are ONLY running locally */ /* we're clearly running a test, don't daemonize */ if (NULL == config) - proc = GNUNET_OS_start_process_s (GNUNET_NO, - std_inheritance, + proc = GNUNET_OS_start_process_s (std_inheritance, lsocks, loprefix, quotedbinary, @@ -738,8 +737,7 @@ start_arm_service (struct GNUNET_ARM_Handle *h, lopostfix, NULL); else - proc = GNUNET_OS_start_process_s (GNUNET_NO, - std_inheritance, + proc = GNUNET_OS_start_process_s (std_inheritance, lsocks, loprefix, quotedbinary, @@ -752,8 +750,7 @@ start_arm_service (struct GNUNET_ARM_Handle *h, else { if (NULL == config) - proc = GNUNET_OS_start_process_s (GNUNET_NO, - std_inheritance, + proc = GNUNET_OS_start_process_s (std_inheritance, lsocks, loprefix, quotedbinary, @@ -761,8 +758,7 @@ start_arm_service (struct GNUNET_ARM_Handle *h, lopostfix, NULL); else - proc = GNUNET_OS_start_process_s (GNUNET_NO, - std_inheritance, + proc = GNUNET_OS_start_process_s (std_inheritance, lsocks, loprefix, quotedbinary, diff --git a/src/arm/gnunet-service-arm.c b/src/arm/gnunet-service-arm.c index 5efd8b72b..00b6e7196 100644 --- a/src/arm/gnunet-service-arm.c +++ b/src/arm/gnunet-service-arm.c @@ -858,8 +858,9 @@ start_process (struct ServiceList *sl, * of ''-quoted strings, escaping should be considered. */ if (NULL != options) options = GNUNET_CONFIGURATION_expand_dollar (cfg, options); - sl->proc = GNUNET_OS_start_process_s (sl->pipe_control, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + sl->proc = GNUNET_OS_start_process_s (sl->pipe_control + ? GNUNET_OS_INHERIT_STD_OUT_AND_ERR | GNUNET_OS_USE_PIPE_CONTROL + : GNUNET_OS_INHERIT_STD_OUT_AND_ERR, lsocks, loprefix, quotedbinary, @@ -880,8 +881,9 @@ start_process (struct ServiceList *sl, if (GNUNET_YES == use_debug) { if (NULL == sl->config) - sl->proc = GNUNET_OS_start_process_s (sl->pipe_control, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + sl->proc = GNUNET_OS_start_process_s (sl->pipe_control + ? GNUNET_OS_INHERIT_STD_OUT_AND_ERR | GNUNET_OS_USE_PIPE_CONTROL + : GNUNET_OS_INHERIT_STD_OUT_AND_ERR, lsocks, loprefix, quotedbinary, @@ -890,8 +892,9 @@ start_process (struct ServiceList *sl, options, NULL); else - sl->proc = GNUNET_OS_start_process_s (sl->pipe_control, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + sl->proc = GNUNET_OS_start_process_s (sl->pipe_control + ? GNUNET_OS_INHERIT_STD_OUT_AND_ERR | GNUNET_OS_USE_PIPE_CONTROL + : GNUNET_OS_INHERIT_STD_OUT_AND_ERR, lsocks, loprefix, quotedbinary, @@ -905,16 +908,18 @@ start_process (struct ServiceList *sl, else { if (NULL == sl->config) - sl->proc = GNUNET_OS_start_process_s (sl->pipe_control, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + sl->proc = GNUNET_OS_start_process_s (sl->pipe_control + ? GNUNET_OS_INHERIT_STD_OUT_AND_ERR | GNUNET_OS_USE_PIPE_CONTROL + : GNUNET_OS_INHERIT_STD_OUT_AND_ERR, lsocks, loprefix, quotedbinary, options, NULL); else - sl->proc = GNUNET_OS_start_process_s (sl->pipe_control, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + sl->proc = GNUNET_OS_start_process_s (sl->pipe_control + ? GNUNET_OS_INHERIT_STD_OUT_AND_ERR | GNUNET_OS_USE_PIPE_CONTROL + : GNUNET_OS_INHERIT_STD_OUT_AND_ERR, lsocks, loprefix, quotedbinary, diff --git a/src/core/test_core_api.c b/src/core/test_core_api.c index dda60215d..064964292 100644 --- a/src/core/test_core_api.c +++ b/src/core/test_core_api.c @@ -251,8 +251,8 @@ setup_peer (struct PeerContext *p, const char *cfgname) binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); p->cfg = GNUNET_CONFIGURATION_create (); - p->arm_proc = GNUNET_OS_start_process (GNUNET_YES, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + p->arm_proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, diff --git a/src/core/test_core_api_reliability.c b/src/core/test_core_api_reliability.c index 136539ed3..debf808ca 100644 --- a/src/core/test_core_api_reliability.c +++ b/src/core/test_core_api_reliability.c @@ -419,8 +419,8 @@ setup_peer (struct PeerContext *p, binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); p->cfg = GNUNET_CONFIGURATION_create (); p->arm_proc - = GNUNET_OS_start_process (GNUNET_YES, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, binary, "gnunet-service-arm", diff --git a/src/core/test_core_api_start_only.c b/src/core/test_core_api_start_only.c index 3cbe50d72..007131134 100644 --- a/src/core/test_core_api_start_only.c +++ b/src/core/test_core_api_start_only.c @@ -118,8 +118,8 @@ setup_peer (struct PeerContext *p, binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); p->cfg = GNUNET_CONFIGURATION_create (); p->arm_proc = - GNUNET_OS_start_process (GNUNET_YES, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, binary, "gnunet-service-arm", diff --git a/src/core/test_core_quota_compliance.c b/src/core/test_core_quota_compliance.c index 67f8bb224..cf2da3d97 100644 --- a/src/core/test_core_quota_compliance.c +++ b/src/core/test_core_quota_compliance.c @@ -570,8 +570,8 @@ setup_peer (struct PeerContext *p, binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); p->cfg = GNUNET_CONFIGURATION_create (); p->arm_proc = - GNUNET_OS_start_process (GNUNET_YES, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, binary, "gnunet-service-arm", diff --git a/src/fs/gnunet-auto-share.c b/src/fs/gnunet-auto-share.c index ee4a719e0..41dfe781a 100644 --- a/src/fs/gnunet-auto-share.c +++ b/src/fs/gnunet-auto-share.c @@ -478,8 +478,7 @@ work (void *cls) argv[argc] = NULL; GNUNET_log (GNUNET_ERROR_TYPE_INFO, _ ("Publishing `%s'\n"), wi->filename); GNUNET_assert (NULL == publish_proc); - publish_proc = GNUNET_OS_start_process_vap (GNUNET_YES, - 0, + publish_proc = GNUNET_OS_start_process_vap (GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, diff --git a/src/gns/gnunet-gns-import.c b/src/gns/gnunet-gns-import.c index 3c95e782d..78db28cab 100644 --- a/src/gns/gnunet-gns-import.c +++ b/src/gns/gnunet-gns-import.c @@ -87,8 +87,7 @@ static int ret; static int -run_process_and_wait (int pipe_control, - enum GNUNET_OS_InheritStdioFlags std_inheritance, +run_process_and_wait (enum GNUNET_OS_InheritStdioFlags std_inheritance, struct GNUNET_DISK_PipeHandle *pipe_stdin, struct GNUNET_DISK_PipeHandle *pipe_stdout, enum GNUNET_OS_ProcessStatusType *st, @@ -120,7 +119,7 @@ run_process_and_wait (int pipe_control, va_end (apc2); if (arglen > 0) argp[-1] = '\0'; - p = GNUNET_OS_start_process_va (pipe_control, std_inheritance, + p = GNUNET_OS_start_process_va (std_inheritance, pipe_stdin, pipe_stdout, NULL, @@ -222,7 +221,7 @@ zone_iteration_error (void *cls) if (! found_private_rec) { - if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, NULL, &st, &code, "gnunet-namestore", "gnunet-namestore", "-z", "master-zone", @@ -236,7 +235,7 @@ zone_iteration_error (void *cls) } if (! found_pin_rec) { - if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, NULL, &st, &code, "gnunet-namestore", "gnunet-namestore", "-z", "master-zone", @@ -385,7 +384,8 @@ run (void *cls, char *const *args, const char *cfgfile, cfg = c; - if (0 != run_process_and_wait (GNUNET_NO, 0, NULL, NULL, &st, &code, + if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_NONE, + NULL, NULL, &st, &code, "gnunet-arm", "gnunet-arm", "-I", NULL)) { @@ -395,60 +395,60 @@ run (void *cls, char *const *args, const char *cfgfile, return; } - if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, NULL, &st, &code, "gnunet-identity", "gnunet-identity", "-C", "master-zone", NULL)) return; - if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, NULL, &st, &code, "gnunet-identity", "gnunet-identity", "-C", "private-zone", NULL)) return; - if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, NULL, &st, &code, "gnunet-identity", "gnunet-identity", "-C", "sks-zone", NULL)) return; - if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, NULL, &st, &code, "gnunet-identity", "gnunet-identity", "-e", "master-zone", "-s", "gns-master", NULL)) return; - if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, NULL, &st, &code, "gnunet-identity", "gnunet-identity", "-e", "master-zone", "-s", "namestore", NULL)) return; - if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, NULL, &st, &code, "gnunet-identity", "gnunet-identity", "-e", "master-zone", "-s", "gns-proxy", NULL)) return; - if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, NULL, &st, &code, "gnunet-identity", "gnunet-identity", "-e", "master-zone", "-s", "gns-intercept", NULL)) return; - if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, NULL, &st, &code, "gnunet-identity", "gnunet-identity", "-e", "private-zone", "-s", "gns-private", NULL)) return; - if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, NULL, &st, &code, "gnunet-identity", "gnunet-identity", "-e", "sks-zone", "-s", diff --git a/src/hostlist/test_gnunet_daemon_hostlist.c b/src/hostlist/test_gnunet_daemon_hostlist.c index d10924eac..063db2f99 100644 --- a/src/hostlist/test_gnunet_daemon_hostlist.c +++ b/src/hostlist/test_gnunet_daemon_hostlist.c @@ -136,8 +136,8 @@ setup_peer (struct PeerContext *p, const char *cfgname) binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); p->cfg = GNUNET_CONFIGURATION_create (); - p->arm_proc = GNUNET_OS_start_process (GNUNET_YES, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + p->arm_proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, diff --git a/src/hostlist/test_gnunet_daemon_hostlist_learning.c b/src/hostlist/test_gnunet_daemon_hostlist_learning.c index a50e7acc2..a0656f770 100644 --- a/src/hostlist/test_gnunet_daemon_hostlist_learning.c +++ b/src/hostlist/test_gnunet_daemon_hostlist_learning.c @@ -412,7 +412,8 @@ setup_learn_peer (struct PeerContext *p, binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); p->cfg = GNUNET_CONFIGURATION_create (); p->arm_proc = - GNUNET_OS_start_process (GNUNET_YES, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, binary, "gnunet-service-arm", @@ -459,8 +460,8 @@ setup_adv_peer (struct PeerContext *p, binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); p->cfg = GNUNET_CONFIGURATION_create (); p->arm_proc = - GNUNET_OS_start_process (GNUNET_YES, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, binary, "gnunet-service-arm", diff --git a/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c b/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c index 657b85fd8..321f96f3d 100644 --- a/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c +++ b/src/hostlist/test_gnunet_daemon_hostlist_reconnect.c @@ -105,8 +105,8 @@ setup_peer (struct PeerContext *p, const char *cfgname) binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); p->cfg = GNUNET_CONFIGURATION_create (); - p->arm_proc = GNUNET_OS_start_process (GNUNET_YES, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + p->arm_proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, diff --git a/src/include/gnunet_os_lib.h b/src/include/gnunet_os_lib.h index 12aeec7f0..749f766d2 100644 --- a/src/include/gnunet_os_lib.h +++ b/src/include/gnunet_os_lib.h @@ -100,7 +100,12 @@ enum GNUNET_OS_InheritStdioFlags * Use this option to have all of the standard streams * (stdin, stdout and stderror) be inherited. */ - GNUNET_OS_INHERIT_STD_ALL = 7 + GNUNET_OS_INHERIT_STD_ALL = 7, + + /** + * Should a pipe be used to send signals to the child? + */ + GNUNET_OS_USE_PIPE_CONTROL = 8 }; @@ -455,7 +460,6 @@ GNUNET_OS_process_get_pid (struct GNUNET_OS_Process *proc); /** * Start a process. * - * @param pipe_control should a pipe be used to send signals to the child? * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags * @param pipe_stdin pipe to use to send input to child process (or NULL) * @param pipe_stdout pipe to use to get output from child process (or NULL) @@ -465,8 +469,7 @@ GNUNET_OS_process_get_pid (struct GNUNET_OS_Process *proc); * @return pointer to process structure of the new process, NULL on error */ struct GNUNET_OS_Process * -GNUNET_OS_start_process_vap (int pipe_control, - enum GNUNET_OS_InheritStdioFlags std_inheritance, +GNUNET_OS_start_process_vap (enum GNUNET_OS_InheritStdioFlags std_inheritance, struct GNUNET_DISK_PipeHandle *pipe_stdin, struct GNUNET_DISK_PipeHandle *pipe_stdout, struct GNUNET_DISK_PipeHandle *pipe_stderr, @@ -477,7 +480,6 @@ GNUNET_OS_start_process_vap (int pipe_control, /** * Start a process. * - * @param pipe_control should a pipe be used to send signals to the child? * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags * @param pipe_stdin pipe to use to send input to child process (or NULL) * @param pipe_stdout pipe to use to get output from child process (or NULL) @@ -487,8 +489,7 @@ GNUNET_OS_start_process_vap (int pipe_control, * @return pointer to process structure of the new process, NULL on error */ struct GNUNET_OS_Process * -GNUNET_OS_start_process (int pipe_control, - enum GNUNET_OS_InheritStdioFlags std_inheritance, +GNUNET_OS_start_process (enum GNUNET_OS_InheritStdioFlags std_inheritance, struct GNUNET_DISK_PipeHandle *pipe_stdin, struct GNUNET_DISK_PipeHandle *pipe_stdout, struct GNUNET_DISK_PipeHandle *pipe_stderr, @@ -498,7 +499,6 @@ GNUNET_OS_start_process (int pipe_control, /** * Start a process. * - * @param pipe_control should a pipe be used to send signals to the child? * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags * @param pipe_stdin pipe to use to send input to child process (or NULL) * @param pipe_stdout pipe to use to get output from child process (or NULL) @@ -508,8 +508,7 @@ GNUNET_OS_start_process (int pipe_control, * @return pointer to process structure of the new process, NULL on error */ struct GNUNET_OS_Process * -GNUNET_OS_start_process_va (int pipe_control, - enum GNUNET_OS_InheritStdioFlags std_inheritance, +GNUNET_OS_start_process_va (enum GNUNET_OS_InheritStdioFlags std_inheritance, struct GNUNET_DISK_PipeHandle *pipe_stdin, struct GNUNET_DISK_PipeHandle *pipe_stdout, struct GNUNET_DISK_PipeHandle *pipe_stderr, @@ -518,7 +517,6 @@ GNUNET_OS_start_process_va (int pipe_control, /** * Start a process. * - * @param pipe_control should a pipe be used to send signals to the child? * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags * @param lsocks array of listen sockets to dup systemd-style (or NULL); * must be NULL on platforms where dup is not supported @@ -528,8 +526,7 @@ GNUNET_OS_start_process_va (int pipe_control, * @return pointer to process structure of the new process, NULL on error */ struct GNUNET_OS_Process * -GNUNET_OS_start_process_v (int pipe_control, - enum GNUNET_OS_InheritStdioFlags std_inheritance, +GNUNET_OS_start_process_v (enum GNUNET_OS_InheritStdioFlags std_inheritance, const int *lsocks, const char *filename, char *const argv[]); @@ -542,7 +539,6 @@ GNUNET_OS_start_process_v (int pipe_control, * in the order they appear. Arguments containing spaces can be used by * quoting them with @em ". * - * @param pipe_control should a pipe be used to send signals to the child? * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags * @param lsocks array of listen sockets to dup systemd-style (or NULL); * must be NULL on platforms where dup is not supported @@ -554,8 +550,7 @@ GNUNET_OS_start_process_v (int pipe_control, * @return pointer to process structure of the new process, NULL on error */ struct GNUNET_OS_Process * -GNUNET_OS_start_process_s (int pipe_control, - enum GNUNET_OS_InheritStdioFlags std_inheritance, +GNUNET_OS_start_process_s (enum GNUNET_OS_InheritStdioFlags std_inheritance, const int *lsocks, const char *filename, ...); diff --git a/src/nat/gnunet-service-nat_helper.c b/src/nat/gnunet-service-nat_helper.c index 58d7b4c61..80d3559f3 100644 --- a/src/nat/gnunet-service-nat_helper.c +++ b/src/nat/gnunet-service-nat_helper.c @@ -234,8 +234,7 @@ restart_nat_server (void *cls) "Starting `%s' at `%s'\n", "gnunet-helper-nat-server", ia); - h->server_proc = GNUNET_OS_start_process (GNUNET_NO, - 0, + h->server_proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_NONE, NULL, h->server_stdout, NULL, @@ -378,8 +377,7 @@ GN_request_connection_reversal (const struct in_addr *internal_address, remv4, internal_port); binary = GNUNET_OS_get_suid_binary_path (cfg, "gnunet-helper-nat-client"); - proc = GNUNET_OS_start_process (GNUNET_NO, - 0, + proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_NONE, NULL, NULL, NULL, diff --git a/src/nat/gnunet-service-nat_mini.c b/src/nat/gnunet-service-nat_mini.c index ae94e3f5b..b98255ad2 100644 --- a/src/nat/gnunet-service-nat_mini.c +++ b/src/nat/gnunet-service-nat_mini.c @@ -199,8 +199,7 @@ GNUNET_NAT_mini_get_external_ipv4_ (GNUNET_NAT_IPCallback cb, void *cb_cls) eh->task = GNUNET_SCHEDULER_add_now (&signal_external_ip_error, eh); return eh; } - eh->eip = GNUNET_OS_start_process (GNUNET_NO, - 0, + eh->eip = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_NONE, NULL, eh->opipe, NULL, diff --git a/src/nat/test_nat_test.c b/src/nat/test_nat_test.c index 43998c97c..2abab4d5f 100644 --- a/src/nat/test_nat_test.c +++ b/src/nat/test_nat_test.c @@ -117,8 +117,8 @@ main (int argc, char *const argv[]) return 0; } - gns = GNUNET_OS_start_process (GNUNET_YES, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + gns = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, "gnunet-nat-server", "gnunet-nat-server", diff --git a/src/nat/test_stun.c b/src/nat/test_stun.c index a41734af1..75eb877b3 100644 --- a/src/nat/test_stun.c +++ b/src/nat/test_stun.c @@ -277,8 +277,8 @@ main (int argc, char *const argv[]) /* Lets start resolver */ fn = GNUNET_OS_get_libexec_binary_path ("gnunet-service-resolver"); - proc = GNUNET_OS_start_process (GNUNET_YES, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, fn, "gnunet-service-resolver", diff --git a/src/pq/pq_connect.c b/src/pq/pq_connect.c index 405dca174..e3a610922 100644 --- a/src/pq/pq_connect.c +++ b/src/pq/pq_connect.c @@ -162,8 +162,7 @@ apply_patch (struct GNUNET_PQ_Context *db, "Applying SQL file `%s' on database %s\n", buf, db->config_str); - psql = GNUNET_OS_start_process (GNUNET_NO, - GNUNET_OS_INHERIT_STD_NONE, + psql = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_NONE, NULL, NULL, NULL, diff --git a/src/statistics/test_statistics_api.c b/src/statistics/test_statistics_api.c index fcdeccad6..c9e568870 100644 --- a/src/statistics/test_statistics_api.c +++ b/src/statistics/test_statistics_api.c @@ -197,8 +197,8 @@ main (int argc, char *argv_ign[]) NULL); binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-statistics"); proc = - GNUNET_OS_start_process (GNUNET_YES, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, binary, "gnunet-service-statistics", @@ -225,8 +225,8 @@ main (int argc, char *argv_ign[]) ok = 1; /* restart to check persistence! */ proc = - GNUNET_OS_start_process (GNUNET_YES, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, binary, "gnunet-service-statistics", diff --git a/src/statistics/test_statistics_api_loop.c b/src/statistics/test_statistics_api_loop.c index 50507bdc4..ad273287d 100644 --- a/src/statistics/test_statistics_api_loop.c +++ b/src/statistics/test_statistics_api_loop.c @@ -98,7 +98,8 @@ main (int argc, char *argv_ign[]) binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-statistics"); proc = - GNUNET_OS_start_process (GNUNET_YES, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, binary, "gnunet-service-statistics", diff --git a/src/statistics/test_statistics_api_watch.c b/src/statistics/test_statistics_api_watch.c index 06e639599..2d9d08305 100644 --- a/src/statistics/test_statistics_api_watch.c +++ b/src/statistics/test_statistics_api_watch.c @@ -130,7 +130,8 @@ main (int argc, char *argv_ign[]) binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-statistics"); proc = - GNUNET_OS_start_process (GNUNET_YES, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, binary, "gnunet-service-statistics", diff --git a/src/statistics/test_statistics_api_watch_zero_value.c b/src/statistics/test_statistics_api_watch_zero_value.c index 80ca57c18..cb2694f8f 100644 --- a/src/statistics/test_statistics_api_watch_zero_value.c +++ b/src/statistics/test_statistics_api_watch_zero_value.c @@ -168,7 +168,8 @@ main (int argc, char *argv_ign[]) binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-statistics"); proc = - GNUNET_OS_start_process (GNUNET_YES, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, binary, "gnunet-service-statistics", diff --git a/src/testbed/gnunet-helper-testbed.c b/src/testbed/gnunet-helper-testbed.c index 24c212d6b..03be376fe 100644 --- a/src/testbed/gnunet-helper-testbed.c +++ b/src/testbed/gnunet-helper-testbed.c @@ -57,12 +57,6 @@ #define LOG_DEBUG(...) LOG (GNUNET_ERROR_TYPE_DEBUG, __VA_ARGS__) -/** - * We need pipe control only on WINDOWS - */ -#define PIPE_CONTROL GNUNET_NO - - /** * Context for a single write on a chunk of memory */ @@ -435,8 +429,7 @@ tokenizer_cb (void *cls, const struct GNUNET_MessageHeader *message) see putenv(): becomes part of envrionment! */ evstr = NULL; } - testbed = GNUNET_OS_start_process (PIPE_CONTROL, - GNUNET_OS_INHERIT_STD_ERR /*verbose? */, + testbed = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_ERR /*verbose? */, NULL, NULL, NULL, diff --git a/src/testbed/testbed_api_hosts.c b/src/testbed/testbed_api_hosts.c index f7352250d..152762280 100644 --- a/src/testbed/testbed_api_hosts.c +++ b/src/testbed/testbed_api_hosts.c @@ -1384,8 +1384,7 @@ GNUNET_TESTBED_is_host_habitable ( join_argv ((const char **) rsh_args, (const char **) rsh_suffix_args); free_argv (rsh_suffix_args); free_argv (rsh_args); - h->auxp = GNUNET_OS_start_process_vap (GNUNET_NO, - GNUNET_OS_INHERIT_STD_ERR, + h->auxp = GNUNET_OS_start_process_vap (GNUNET_OS_INHERIT_STD_ERR, NULL, NULL, NULL, diff --git a/src/testing/testing.c b/src/testing/testing.c index 0ca4c3063..9724fb55b 100644 --- a/src/testing/testing.c +++ b/src/testing/testing.c @@ -37,12 +37,6 @@ #define LOG(kind, ...) GNUNET_log_from (kind, "testing-api", __VA_ARGS__) -/** - * We need pipe control only on WINDOWS - */ -#define PIPE_CONTROL GNUNET_NO - - /** * Lowest port used for GNUnet testing. Should be high enough to not * conflict with other applications running on the hosts but be low @@ -492,8 +486,7 @@ start_shared_service_instance (struct SharedServiceInstance *i) (void) GNUNET_asprintf (&binary, "gnunet-service-%s", i->ss->sname); libexec_binary = GNUNET_OS_get_libexec_binary_path (binary); GNUNET_free (binary); - i->proc = GNUNET_OS_start_process (PIPE_CONTROL, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + i->proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, NULL, NULL, @@ -1378,8 +1371,7 @@ GNUNET_TESTING_peer_start (struct GNUNET_TESTING_Peer *peer) peer->main_binary = GNUNET_CONFIGURATION_expand_dollar (peer->cfg, peer->main_binary); peer->main_process = - GNUNET_OS_start_process_s (PIPE_CONTROL, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + GNUNET_OS_start_process_s (GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, peer->main_binary, peer->args, diff --git a/src/transport/plugin_transport_http_server.c b/src/transport/plugin_transport_http_server.c index 514f7fd1f..d1b21ba9c 100644 --- a/src/transport/plugin_transport_http_server.c +++ b/src/transport/plugin_transport_http_server.c @@ -2188,7 +2188,7 @@ server_load_certificate (struct HTTP_Server_Plugin *plugin) "No usable TLS certificate found, creating certificate\n"); errno = 0; cert_creation = - GNUNET_OS_start_process (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, NULL, NULL, "gnunet-transport-certificate-creation", "gnunet-transport-certificate-creation", diff --git a/src/transport/transport-testing2.c b/src/transport/transport-testing2.c index 0dc1bb331..2a7a1dfcb 100644 --- a/src/transport/transport-testing2.c +++ b/src/transport/transport-testing2.c @@ -915,8 +915,8 @@ communicator_start ( LOG (GNUNET_ERROR_TYPE_DEBUG, "communicator_start\n"); binary = GNUNET_OS_get_libexec_binary_path (binary_name); - tc_h->c_proc = GNUNET_OS_start_process (GNUNET_YES, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + tc_h->c_proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, @@ -967,8 +967,8 @@ resolver_start (struct LOG (GNUNET_ERROR_TYPE_DEBUG, "resolver_start\n"); binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-resolver"); - tc_h->resolver_proc = GNUNET_OS_start_process (GNUNET_YES, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + tc_h->resolver_proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, @@ -999,8 +999,8 @@ nat_start ( LOG (GNUNET_ERROR_TYPE_DEBUG, "nat_start\n"); binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-nat"); - tc_h->nat_proc = GNUNET_OS_start_process (GNUNET_YES, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + tc_h->nat_proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, diff --git a/src/util/gnunet-qr.c b/src/util/gnunet-qr.c index cd23c3a9c..84a3184bc 100644 --- a/src/util/gnunet-qr.c +++ b/src/util/gnunet-qr.c @@ -192,8 +192,7 @@ gnunet_uri (void *cls, GNUNET_array_append (argv, argc, NULL); - p = GNUNET_OS_start_process_vap (GNUNET_NO, - GNUNET_OS_INHERIT_STD_ALL, + p = GNUNET_OS_start_process_vap (GNUNET_OS_INHERIT_STD_ALL, NULL, NULL, NULL, diff --git a/src/util/gnunet-uri.c b/src/util/gnunet-uri.c index 48c46ee49..f8754a6d1 100644 --- a/src/util/gnunet-uri.c +++ b/src/util/gnunet-uri.c @@ -115,8 +115,7 @@ run (void *cls, GNUNET_DISK_pipe_handle (sigpipe, GNUNET_DISK_PIPE_END_READ), &maint_child_death, NULL); - p = GNUNET_OS_start_process (GNUNET_NO, - 0, + p = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_NONE, NULL, NULL, NULL, diff --git a/src/util/helper.c b/src/util/helper.c index 8c8fb7b6a..7985f2eca 100644 --- a/src/util/helper.c +++ b/src/util/helper.c @@ -422,8 +422,9 @@ start_helper (struct GNUNET_HELPER_Handle *h) GNUNET_DISK_pipe_handle (h->helper_out, GNUNET_DISK_PIPE_END_READ); h->fh_to_helper = GNUNET_DISK_pipe_handle (h->helper_in, GNUNET_DISK_PIPE_END_WRITE); - h->helper_proc = GNUNET_OS_start_process_vap (h->with_control_pipe, - GNUNET_OS_INHERIT_STD_ERR, + h->helper_proc = GNUNET_OS_start_process_vap (h->with_control_pipe + ? GNUNET_OS_INHERIT_STD_ERR | GNUNET_OS_USE_PIPE_CONTROL + : GNUNET_OS_INHERIT_STD_ERR, h->helper_in, h->helper_out, NULL, diff --git a/src/util/os_priority.c b/src/util/os_priority.c index 7f3be2a80..2f86f792f 100644 --- a/src/util/os_priority.c +++ b/src/util/os_priority.c @@ -326,7 +326,6 @@ open_dev_null (int target_fd, int flags) /** * Start a process. * - * @param pipe_control should a pipe be used to send signals to the child? * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags controlling which * std handles of the parent are inherited by the child. * pipe_stdin and pipe_stdout take priority over std_inheritance @@ -341,8 +340,7 @@ open_dev_null (int target_fd, int flags) * @return process ID of the new process, -1 on error */ static struct GNUNET_OS_Process * -start_process (int pipe_control, - enum GNUNET_OS_InheritStdioFlags std_inheritance, +start_process (enum GNUNET_OS_InheritStdioFlags std_inheritance, struct GNUNET_DISK_PipeHandle *pipe_stdin, struct GNUNET_DISK_PipeHandle *pipe_stdout, struct GNUNET_DISK_PipeHandle *pipe_stderr, @@ -373,7 +371,7 @@ start_process (int pipe_control, if (GNUNET_SYSERR == GNUNET_OS_check_helper_binary (filename, GNUNET_NO, NULL)) return NULL; /* not executable */ - if (GNUNET_YES == pipe_control) + if (0 != (std_inheritance & GNUNET_OS_USE_PIPE_CONTROL)) { struct GNUNET_DISK_PipeHandle *childpipe; int dup_childpipe_read_fd = -1; @@ -486,7 +484,7 @@ start_process (int pipe_control, gnunet_proc = GNUNET_new (struct GNUNET_OS_Process); gnunet_proc->pid = ret; gnunet_proc->control_pipe = childpipe_write; - if (GNUNET_YES == pipe_control) + if (0 != (std_inheritance & GNUNET_OS_USE_PIPE_CONTROL)) { close (childpipe_read_fd); } @@ -594,7 +592,6 @@ start_process (int pipe_control, /** * Start a process. * - * @param pipe_control should a pipe be used to send signals to the child? * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags * @param pipe_stdin pipe to use to send input to child process (or NULL) * @param pipe_stdout pipe to use to get output from child process (or NULL) @@ -604,16 +601,14 @@ start_process (int pipe_control, * @return pointer to process structure of the new process, NULL on error */ struct GNUNET_OS_Process * -GNUNET_OS_start_process_vap (int pipe_control, - enum GNUNET_OS_InheritStdioFlags std_inheritance, +GNUNET_OS_start_process_vap (enum GNUNET_OS_InheritStdioFlags std_inheritance, struct GNUNET_DISK_PipeHandle *pipe_stdin, struct GNUNET_DISK_PipeHandle *pipe_stdout, struct GNUNET_DISK_PipeHandle *pipe_stderr, const char *filename, char *const argv[]) { - return start_process (pipe_control, - std_inheritance, + return start_process (std_inheritance, pipe_stdin, pipe_stdout, pipe_stderr, @@ -626,7 +621,6 @@ GNUNET_OS_start_process_vap (int pipe_control, /** * Start a process. * - * @param pipe_control should a pipe be used to send signals to the child? * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags * @param pipe_stdin pipe to use to send input to child process (or NULL) * @param pipe_stdout pipe to use to get output from child process (or NULL) @@ -636,8 +630,7 @@ GNUNET_OS_start_process_vap (int pipe_control, * @return pointer to process structure of the new process, NULL on error */ struct GNUNET_OS_Process * -GNUNET_OS_start_process_va (int pipe_control, - enum GNUNET_OS_InheritStdioFlags std_inheritance, +GNUNET_OS_start_process_va (enum GNUNET_OS_InheritStdioFlags std_inheritance, struct GNUNET_DISK_PipeHandle *pipe_stdin, struct GNUNET_DISK_PipeHandle *pipe_stdout, struct GNUNET_DISK_PipeHandle *pipe_stderr, @@ -660,8 +653,7 @@ GNUNET_OS_start_process_va (int pipe_control, while (NULL != (argv[argc] = va_arg (ap, char *))) argc++; va_end (ap); - ret = GNUNET_OS_start_process_vap (pipe_control, - std_inheritance, + ret = GNUNET_OS_start_process_vap (std_inheritance, pipe_stdin, pipe_stdout, pipe_stderr, @@ -675,7 +667,6 @@ GNUNET_OS_start_process_va (int pipe_control, /** * Start a process. * - * @param pipe_control should a pipe be used to send signals to the child? * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags * @param pipe_stdin pipe to use to send input to child process (or NULL) * @param pipe_stdout pipe to use to get output from child process (or NULL) @@ -684,8 +675,7 @@ GNUNET_OS_start_process_va (int pipe_control, * @return pointer to process structure of the new process, NULL on error */ struct GNUNET_OS_Process * -GNUNET_OS_start_process (int pipe_control, - enum GNUNET_OS_InheritStdioFlags std_inheritance, +GNUNET_OS_start_process (enum GNUNET_OS_InheritStdioFlags std_inheritance, struct GNUNET_DISK_PipeHandle *pipe_stdin, struct GNUNET_DISK_PipeHandle *pipe_stdout, struct GNUNET_DISK_PipeHandle *pipe_stderr, @@ -696,8 +686,7 @@ GNUNET_OS_start_process (int pipe_control, va_list ap; va_start (ap, filename); - ret = GNUNET_OS_start_process_va (pipe_control, - std_inheritance, + ret = GNUNET_OS_start_process_va (std_inheritance, pipe_stdin, pipe_stdout, pipe_stderr, @@ -711,7 +700,6 @@ GNUNET_OS_start_process (int pipe_control, /** * Start a process. * - * @param pipe_control should a pipe be used to send signals to the child? * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags controlling which * std handles of the parent are inherited by the child. * pipe_stdin and pipe_stdout take priority over std_inheritance @@ -723,14 +711,12 @@ GNUNET_OS_start_process (int pipe_control, * @return process ID of the new process, -1 on error */ struct GNUNET_OS_Process * -GNUNET_OS_start_process_v (int pipe_control, - enum GNUNET_OS_InheritStdioFlags std_inheritance, +GNUNET_OS_start_process_v (enum GNUNET_OS_InheritStdioFlags std_inheritance, const int *lsocks, const char *filename, char *const argv[]) { - return start_process (pipe_control, - std_inheritance, + return start_process (std_inheritance, NULL, NULL, NULL, @@ -747,7 +733,6 @@ GNUNET_OS_start_process_v (int pipe_control, * in the order they appear. Arguments containing spaces can be used by * quoting them with @em ". * - * @param pipe_control should a pipe be used to send signals to the child? * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags * @param lsocks array of listen sockets to dup systemd-style (or NULL); * must be NULL on platforms where dup is not supported @@ -759,8 +744,7 @@ GNUNET_OS_start_process_v (int pipe_control, * @return pointer to process structure of the new process, NULL on error */ struct GNUNET_OS_Process * -GNUNET_OS_start_process_s (int pipe_control, - enum GNUNET_OS_InheritStdioFlags std_inheritance, +GNUNET_OS_start_process_s (enum GNUNET_OS_InheritStdioFlags std_inheritance, const int *lsocks, const char *filename, ...) @@ -869,8 +853,7 @@ GNUNET_OS_start_process_s (int pipe_control, } } binary_path = argv[0]; - proc = GNUNET_OS_start_process_v (pipe_control, - std_inheritance, + proc = GNUNET_OS_start_process_v (std_inheritance, lsocks, binary_path, argv); @@ -1175,7 +1158,12 @@ GNUNET_OS_command_run (GNUNET_OS_LineProcessor proc, va_start (ap, binary); /* redirect stdout, don't inherit stderr/stdin */ eip = - GNUNET_OS_start_process_va (GNUNET_NO, 0, NULL, opipe, NULL, binary, ap); + GNUNET_OS_start_process_va (GNUNET_OS_INHERIT_STD_NONE, + NULL, + opipe, + NULL, + binary, + ap); va_end (ap); if (NULL == eip) { diff --git a/src/util/test_common_logging_runtime_loglevels.c b/src/util/test_common_logging_runtime_loglevels.c index e6d83d52c..ce1cdadd6 100644 --- a/src/util/test_common_logging_runtime_loglevels.c +++ b/src/util/test_common_logging_runtime_loglevels.c @@ -403,7 +403,7 @@ runone () break; } - proc = GNUNET_OS_start_process (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR, NULL, pipe_stdout, NULL, "./test_common_logging_dummy", "test_common_logging_dummy", NULL); diff --git a/src/util/test_os_start_process.c b/src/util/test_os_start_process.c index 2bdca5c9d..6d4a131bb 100644 --- a/src/util/test_os_start_process.c +++ b/src/util/test_os_start_process.c @@ -138,7 +138,7 @@ run_task (void *cls) } proc = - GNUNET_OS_start_process (GNUNET_NO, GNUNET_OS_INHERIT_STD_ERR, + GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_ERR, hello_pipe_stdin, hello_pipe_stdout, NULL, fn, "test_gnunet_echo_hello", "-", NULL); @@ -212,7 +212,8 @@ check_kill () } fn = GNUNET_OS_get_libexec_binary_path ("gnunet-service-resolver"); proc = - GNUNET_OS_start_process (GNUNET_YES, GNUNET_OS_INHERIT_STD_ERR, + GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_ERR + | GNUNET_OS_USE_PIPE_CONTROL, hello_pipe_stdin, hello_pipe_stdout, NULL, @@ -256,7 +257,8 @@ check_instant_kill () } fn = GNUNET_OS_get_libexec_binary_path ("gnunet-service-resolver"); proc = - GNUNET_OS_start_process (GNUNET_YES, GNUNET_OS_INHERIT_STD_ERR, + GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_ERR + | GNUNET_OS_USE_PIPE_CONTROL, hello_pipe_stdin, hello_pipe_stdout, NULL, fn, "gnunet-service-resolver", "-", NULL); diff --git a/src/util/test_resolver_api.c b/src/util/test_resolver_api.c index 05716741e..eefb20890 100644 --- a/src/util/test_resolver_api.c +++ b/src/util/test_resolver_api.c @@ -348,8 +348,8 @@ main (int argc, char *argv[]) "WARNING", NULL); fn = GNUNET_OS_get_libexec_binary_path ("gnunet-service-resolver"); - proc = GNUNET_OS_start_process (GNUNET_YES, - GNUNET_OS_INHERIT_STD_OUT_AND_ERR, + proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR + | GNUNET_OS_USE_PIPE_CONTROL, NULL, NULL, NULL, fn, "gnunet-service-resolver", -- cgit v1.2.3