aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arm/arm_api.c12
-rw-r--r--src/arm/gnunet-service-arm.c25
-rw-r--r--src/core/test_core_api.c4
-rw-r--r--src/core/test_core_api_reliability.c4
-rw-r--r--src/core/test_core_api_start_only.c4
-rw-r--r--src/core/test_core_quota_compliance.c4
-rw-r--r--src/fs/gnunet-auto-share.c3
-rw-r--r--src/gns/gnunet-gns-import.c30
-rw-r--r--src/hostlist/test_gnunet_daemon_hostlist.c4
-rw-r--r--src/hostlist/test_gnunet_daemon_hostlist_learning.c7
-rw-r--r--src/hostlist/test_gnunet_daemon_hostlist_reconnect.c4
-rw-r--r--src/include/gnunet_os_lib.h27
-rw-r--r--src/nat/gnunet-service-nat_helper.c6
-rw-r--r--src/nat/gnunet-service-nat_mini.c3
-rw-r--r--src/nat/test_nat_test.c4
-rw-r--r--src/nat/test_stun.c4
-rw-r--r--src/pq/pq_connect.c3
-rw-r--r--src/statistics/test_statistics_api.c8
-rw-r--r--src/statistics/test_statistics_api_loop.c3
-rw-r--r--src/statistics/test_statistics_api_watch.c3
-rw-r--r--src/statistics/test_statistics_api_watch_zero_value.c3
-rw-r--r--src/testbed/gnunet-helper-testbed.c9
-rw-r--r--src/testbed/testbed_api_hosts.c3
-rw-r--r--src/testing/testing.c12
-rw-r--r--src/transport/plugin_transport_http_server.c2
-rw-r--r--src/transport/transport-testing2.c12
-rw-r--r--src/util/gnunet-qr.c3
-rw-r--r--src/util/gnunet-uri.c3
-rw-r--r--src/util/helper.c5
-rw-r--r--src/util/os_priority.c50
-rw-r--r--src/util/test_common_logging_runtime_loglevels.c2
-rw-r--r--src/util/test_os_start_process.c8
-rw-r--r--src/util/test_resolver_api.c4
33 files changed, 123 insertions, 155 deletions
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,
729 /* Means we are ONLY running locally */ 729 /* Means we are ONLY running locally */
730 /* we're clearly running a test, don't daemonize */ 730 /* we're clearly running a test, don't daemonize */
731 if (NULL == config) 731 if (NULL == config)
732 proc = GNUNET_OS_start_process_s (GNUNET_NO, 732 proc = GNUNET_OS_start_process_s (std_inheritance,
733 std_inheritance,
734 lsocks, 733 lsocks,
735 loprefix, 734 loprefix,
736 quotedbinary, 735 quotedbinary,
@@ -738,8 +737,7 @@ start_arm_service (struct GNUNET_ARM_Handle *h,
738 lopostfix, 737 lopostfix,
739 NULL); 738 NULL);
740 else 739 else
741 proc = GNUNET_OS_start_process_s (GNUNET_NO, 740 proc = GNUNET_OS_start_process_s (std_inheritance,
742 std_inheritance,
743 lsocks, 741 lsocks,
744 loprefix, 742 loprefix,
745 quotedbinary, 743 quotedbinary,
@@ -752,8 +750,7 @@ start_arm_service (struct GNUNET_ARM_Handle *h,
752 else 750 else
753 { 751 {
754 if (NULL == config) 752 if (NULL == config)
755 proc = GNUNET_OS_start_process_s (GNUNET_NO, 753 proc = GNUNET_OS_start_process_s (std_inheritance,
756 std_inheritance,
757 lsocks, 754 lsocks,
758 loprefix, 755 loprefix,
759 quotedbinary, 756 quotedbinary,
@@ -761,8 +758,7 @@ start_arm_service (struct GNUNET_ARM_Handle *h,
761 lopostfix, 758 lopostfix,
762 NULL); 759 NULL);
763 else 760 else
764 proc = GNUNET_OS_start_process_s (GNUNET_NO, 761 proc = GNUNET_OS_start_process_s (std_inheritance,
765 std_inheritance,
766 lsocks, 762 lsocks,
767 loprefix, 763 loprefix,
768 quotedbinary, 764 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,
858 * of ''-quoted strings, escaping should be considered. */ 858 * of ''-quoted strings, escaping should be considered. */
859 if (NULL != options) 859 if (NULL != options)
860 options = GNUNET_CONFIGURATION_expand_dollar (cfg, options); 860 options = GNUNET_CONFIGURATION_expand_dollar (cfg, options);
861 sl->proc = GNUNET_OS_start_process_s (sl->pipe_control, 861 sl->proc = GNUNET_OS_start_process_s (sl->pipe_control
862 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 862 ? GNUNET_OS_INHERIT_STD_OUT_AND_ERR | GNUNET_OS_USE_PIPE_CONTROL
863 : GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
863 lsocks, 864 lsocks,
864 loprefix, 865 loprefix,
865 quotedbinary, 866 quotedbinary,
@@ -880,8 +881,9 @@ start_process (struct ServiceList *sl,
880 if (GNUNET_YES == use_debug) 881 if (GNUNET_YES == use_debug)
881 { 882 {
882 if (NULL == sl->config) 883 if (NULL == sl->config)
883 sl->proc = GNUNET_OS_start_process_s (sl->pipe_control, 884 sl->proc = GNUNET_OS_start_process_s (sl->pipe_control
884 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 885 ? GNUNET_OS_INHERIT_STD_OUT_AND_ERR | GNUNET_OS_USE_PIPE_CONTROL
886 : GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
885 lsocks, 887 lsocks,
886 loprefix, 888 loprefix,
887 quotedbinary, 889 quotedbinary,
@@ -890,8 +892,9 @@ start_process (struct ServiceList *sl,
890 options, 892 options,
891 NULL); 893 NULL);
892 else 894 else
893 sl->proc = GNUNET_OS_start_process_s (sl->pipe_control, 895 sl->proc = GNUNET_OS_start_process_s (sl->pipe_control
894 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 896 ? GNUNET_OS_INHERIT_STD_OUT_AND_ERR | GNUNET_OS_USE_PIPE_CONTROL
897 : GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
895 lsocks, 898 lsocks,
896 loprefix, 899 loprefix,
897 quotedbinary, 900 quotedbinary,
@@ -905,16 +908,18 @@ start_process (struct ServiceList *sl,
905 else 908 else
906 { 909 {
907 if (NULL == sl->config) 910 if (NULL == sl->config)
908 sl->proc = GNUNET_OS_start_process_s (sl->pipe_control, 911 sl->proc = GNUNET_OS_start_process_s (sl->pipe_control
909 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 912 ? GNUNET_OS_INHERIT_STD_OUT_AND_ERR | GNUNET_OS_USE_PIPE_CONTROL
913 : GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
910 lsocks, 914 lsocks,
911 loprefix, 915 loprefix,
912 quotedbinary, 916 quotedbinary,
913 options, 917 options,
914 NULL); 918 NULL);
915 else 919 else
916 sl->proc = GNUNET_OS_start_process_s (sl->pipe_control, 920 sl->proc = GNUNET_OS_start_process_s (sl->pipe_control
917 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 921 ? GNUNET_OS_INHERIT_STD_OUT_AND_ERR | GNUNET_OS_USE_PIPE_CONTROL
922 : GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
918 lsocks, 923 lsocks,
919 loprefix, 924 loprefix,
920 quotedbinary, 925 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)
251 251
252 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); 252 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm");
253 p->cfg = GNUNET_CONFIGURATION_create (); 253 p->cfg = GNUNET_CONFIGURATION_create ();
254 p->arm_proc = GNUNET_OS_start_process (GNUNET_YES, 254 p->arm_proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
255 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 255 | GNUNET_OS_USE_PIPE_CONTROL,
256 NULL, 256 NULL,
257 NULL, 257 NULL,
258 NULL, 258 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,
419 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); 419 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm");
420 p->cfg = GNUNET_CONFIGURATION_create (); 420 p->cfg = GNUNET_CONFIGURATION_create ();
421 p->arm_proc 421 p->arm_proc
422 = GNUNET_OS_start_process (GNUNET_YES, 422 = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
423 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 423 | GNUNET_OS_USE_PIPE_CONTROL,
424 NULL, NULL, NULL, 424 NULL, NULL, NULL,
425 binary, 425 binary,
426 "gnunet-service-arm", 426 "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,
118 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); 118 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm");
119 p->cfg = GNUNET_CONFIGURATION_create (); 119 p->cfg = GNUNET_CONFIGURATION_create ();
120 p->arm_proc = 120 p->arm_proc =
121 GNUNET_OS_start_process (GNUNET_YES, 121 GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
122 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 122 | GNUNET_OS_USE_PIPE_CONTROL,
123 NULL, NULL, NULL, 123 NULL, NULL, NULL,
124 binary, 124 binary,
125 "gnunet-service-arm", 125 "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,
570 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); 570 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm");
571 p->cfg = GNUNET_CONFIGURATION_create (); 571 p->cfg = GNUNET_CONFIGURATION_create ();
572 p->arm_proc = 572 p->arm_proc =
573 GNUNET_OS_start_process (GNUNET_YES, 573 GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
574 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 574 | GNUNET_OS_USE_PIPE_CONTROL,
575 NULL, NULL, NULL, 575 NULL, NULL, NULL,
576 binary, 576 binary,
577 "gnunet-service-arm", 577 "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)
478 argv[argc] = NULL; 478 argv[argc] = NULL;
479 GNUNET_log (GNUNET_ERROR_TYPE_INFO, _ ("Publishing `%s'\n"), wi->filename); 479 GNUNET_log (GNUNET_ERROR_TYPE_INFO, _ ("Publishing `%s'\n"), wi->filename);
480 GNUNET_assert (NULL == publish_proc); 480 GNUNET_assert (NULL == publish_proc);
481 publish_proc = GNUNET_OS_start_process_vap (GNUNET_YES, 481 publish_proc = GNUNET_OS_start_process_vap (GNUNET_OS_USE_PIPE_CONTROL,
482 0,
483 NULL, 482 NULL,
484 NULL, 483 NULL,
485 NULL, 484 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;
87 87
88 88
89static int 89static int
90run_process_and_wait (int pipe_control, 90run_process_and_wait (enum GNUNET_OS_InheritStdioFlags std_inheritance,
91 enum GNUNET_OS_InheritStdioFlags std_inheritance,
92 struct GNUNET_DISK_PipeHandle *pipe_stdin, 91 struct GNUNET_DISK_PipeHandle *pipe_stdin,
93 struct GNUNET_DISK_PipeHandle *pipe_stdout, 92 struct GNUNET_DISK_PipeHandle *pipe_stdout,
94 enum GNUNET_OS_ProcessStatusType *st, 93 enum GNUNET_OS_ProcessStatusType *st,
@@ -120,7 +119,7 @@ run_process_and_wait (int pipe_control,
120 va_end (apc2); 119 va_end (apc2);
121 if (arglen > 0) 120 if (arglen > 0)
122 argp[-1] = '\0'; 121 argp[-1] = '\0';
123 p = GNUNET_OS_start_process_va (pipe_control, std_inheritance, 122 p = GNUNET_OS_start_process_va (std_inheritance,
124 pipe_stdin, 123 pipe_stdin,
125 pipe_stdout, 124 pipe_stdout,
126 NULL, 125 NULL,
@@ -222,7 +221,7 @@ zone_iteration_error (void *cls)
222 221
223 if (! found_private_rec) 222 if (! found_private_rec)
224 { 223 {
225 if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 224 if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
226 NULL, NULL, &st, &code, 225 NULL, NULL, &st, &code,
227 "gnunet-namestore", 226 "gnunet-namestore",
228 "gnunet-namestore", "-z", "master-zone", 227 "gnunet-namestore", "-z", "master-zone",
@@ -236,7 +235,7 @@ zone_iteration_error (void *cls)
236 } 235 }
237 if (! found_pin_rec) 236 if (! found_pin_rec)
238 { 237 {
239 if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 238 if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
240 NULL, NULL, &st, &code, 239 NULL, NULL, &st, &code,
241 "gnunet-namestore", 240 "gnunet-namestore",
242 "gnunet-namestore", "-z", "master-zone", 241 "gnunet-namestore", "-z", "master-zone",
@@ -385,7 +384,8 @@ run (void *cls, char *const *args, const char *cfgfile,
385 384
386 cfg = c; 385 cfg = c;
387 386
388 if (0 != run_process_and_wait (GNUNET_NO, 0, NULL, NULL, &st, &code, 387 if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_NONE,
388 NULL, NULL, &st, &code,
389 "gnunet-arm", 389 "gnunet-arm",
390 "gnunet-arm", "-I", NULL)) 390 "gnunet-arm", "-I", NULL))
391 { 391 {
@@ -395,60 +395,60 @@ run (void *cls, char *const *args, const char *cfgfile,
395 return; 395 return;
396 } 396 }
397 397
398 if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 398 if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
399 NULL, NULL, &st, &code, 399 NULL, NULL, &st, &code,
400 "gnunet-identity", 400 "gnunet-identity",
401 "gnunet-identity", "-C", "master-zone", NULL)) 401 "gnunet-identity", "-C", "master-zone", NULL))
402 return; 402 return;
403 403
404 if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 404 if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
405 NULL, NULL, &st, &code, 405 NULL, NULL, &st, &code,
406 "gnunet-identity", 406 "gnunet-identity",
407 "gnunet-identity", "-C", "private-zone", NULL)) 407 "gnunet-identity", "-C", "private-zone", NULL))
408 return; 408 return;
409 409
410 if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 410 if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
411 NULL, NULL, &st, &code, 411 NULL, NULL, &st, &code,
412 "gnunet-identity", 412 "gnunet-identity",
413 "gnunet-identity", "-C", "sks-zone", NULL)) 413 "gnunet-identity", "-C", "sks-zone", NULL))
414 return; 414 return;
415 415
416 if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 416 if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
417 NULL, NULL, &st, &code, 417 NULL, NULL, &st, &code,
418 "gnunet-identity", 418 "gnunet-identity",
419 "gnunet-identity", "-e", "master-zone", "-s", 419 "gnunet-identity", "-e", "master-zone", "-s",
420 "gns-master", NULL)) 420 "gns-master", NULL))
421 return; 421 return;
422 422
423 if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 423 if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
424 NULL, NULL, &st, &code, 424 NULL, NULL, &st, &code,
425 "gnunet-identity", 425 "gnunet-identity",
426 "gnunet-identity", "-e", "master-zone", "-s", 426 "gnunet-identity", "-e", "master-zone", "-s",
427 "namestore", NULL)) 427 "namestore", NULL))
428 return; 428 return;
429 429
430 if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 430 if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
431 NULL, NULL, &st, &code, 431 NULL, NULL, &st, &code,
432 "gnunet-identity", 432 "gnunet-identity",
433 "gnunet-identity", "-e", "master-zone", "-s", 433 "gnunet-identity", "-e", "master-zone", "-s",
434 "gns-proxy", NULL)) 434 "gns-proxy", NULL))
435 return; 435 return;
436 436
437 if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 437 if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
438 NULL, NULL, &st, &code, 438 NULL, NULL, &st, &code,
439 "gnunet-identity", 439 "gnunet-identity",
440 "gnunet-identity", "-e", "master-zone", "-s", 440 "gnunet-identity", "-e", "master-zone", "-s",
441 "gns-intercept", NULL)) 441 "gns-intercept", NULL))
442 return; 442 return;
443 443
444 if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 444 if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
445 NULL, NULL, &st, &code, 445 NULL, NULL, &st, &code,
446 "gnunet-identity", 446 "gnunet-identity",
447 "gnunet-identity", "-e", "private-zone", "-s", 447 "gnunet-identity", "-e", "private-zone", "-s",
448 "gns-private", NULL)) 448 "gns-private", NULL))
449 return; 449 return;
450 450
451 if (0 != run_process_and_wait (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 451 if (0 != run_process_and_wait (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
452 NULL, NULL, &st, &code, 452 NULL, NULL, &st, &code,
453 "gnunet-identity", 453 "gnunet-identity",
454 "gnunet-identity", "-e", "sks-zone", "-s", 454 "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)
136 136
137 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); 137 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm");
138 p->cfg = GNUNET_CONFIGURATION_create (); 138 p->cfg = GNUNET_CONFIGURATION_create ();
139 p->arm_proc = GNUNET_OS_start_process (GNUNET_YES, 139 p->arm_proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
140 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 140 | GNUNET_OS_USE_PIPE_CONTROL,
141 NULL, 141 NULL,
142 NULL, 142 NULL,
143 NULL, 143 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,
412 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); 412 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm");
413 p->cfg = GNUNET_CONFIGURATION_create (); 413 p->cfg = GNUNET_CONFIGURATION_create ();
414 p->arm_proc = 414 p->arm_proc =
415 GNUNET_OS_start_process (GNUNET_YES, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 415 GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
416 | GNUNET_OS_USE_PIPE_CONTROL,
416 NULL, NULL, NULL, 417 NULL, NULL, NULL,
417 binary, 418 binary,
418 "gnunet-service-arm", 419 "gnunet-service-arm",
@@ -459,8 +460,8 @@ setup_adv_peer (struct PeerContext *p,
459 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); 460 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm");
460 p->cfg = GNUNET_CONFIGURATION_create (); 461 p->cfg = GNUNET_CONFIGURATION_create ();
461 p->arm_proc = 462 p->arm_proc =
462 GNUNET_OS_start_process (GNUNET_YES, 463 GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
463 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 464 | GNUNET_OS_USE_PIPE_CONTROL,
464 NULL, NULL, NULL, 465 NULL, NULL, NULL,
465 binary, 466 binary,
466 "gnunet-service-arm", 467 "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)
105 105
106 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm"); 106 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-arm");
107 p->cfg = GNUNET_CONFIGURATION_create (); 107 p->cfg = GNUNET_CONFIGURATION_create ();
108 p->arm_proc = GNUNET_OS_start_process (GNUNET_YES, 108 p->arm_proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
109 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 109 | GNUNET_OS_USE_PIPE_CONTROL,
110 NULL, 110 NULL,
111 NULL, 111 NULL,
112 NULL, 112 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
100 * Use this option to have all of the standard streams 100 * Use this option to have all of the standard streams
101 * (stdin, stdout and stderror) be inherited. 101 * (stdin, stdout and stderror) be inherited.
102 */ 102 */
103 GNUNET_OS_INHERIT_STD_ALL = 7 103 GNUNET_OS_INHERIT_STD_ALL = 7,
104
105 /**
106 * Should a pipe be used to send signals to the child?
107 */
108 GNUNET_OS_USE_PIPE_CONTROL = 8
104}; 109};
105 110
106 111
@@ -455,7 +460,6 @@ GNUNET_OS_process_get_pid (struct GNUNET_OS_Process *proc);
455/** 460/**
456 * Start a process. 461 * Start a process.
457 * 462 *
458 * @param pipe_control should a pipe be used to send signals to the child?
459 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags 463 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags
460 * @param pipe_stdin pipe to use to send input to child process (or NULL) 464 * @param pipe_stdin pipe to use to send input to child process (or NULL)
461 * @param pipe_stdout pipe to use to get output from child process (or NULL) 465 * @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);
465 * @return pointer to process structure of the new process, NULL on error 469 * @return pointer to process structure of the new process, NULL on error
466 */ 470 */
467struct GNUNET_OS_Process * 471struct GNUNET_OS_Process *
468GNUNET_OS_start_process_vap (int pipe_control, 472GNUNET_OS_start_process_vap (enum GNUNET_OS_InheritStdioFlags std_inheritance,
469 enum GNUNET_OS_InheritStdioFlags std_inheritance,
470 struct GNUNET_DISK_PipeHandle *pipe_stdin, 473 struct GNUNET_DISK_PipeHandle *pipe_stdin,
471 struct GNUNET_DISK_PipeHandle *pipe_stdout, 474 struct GNUNET_DISK_PipeHandle *pipe_stdout,
472 struct GNUNET_DISK_PipeHandle *pipe_stderr, 475 struct GNUNET_DISK_PipeHandle *pipe_stderr,
@@ -477,7 +480,6 @@ GNUNET_OS_start_process_vap (int pipe_control,
477/** 480/**
478 * Start a process. 481 * Start a process.
479 * 482 *
480 * @param pipe_control should a pipe be used to send signals to the child?
481 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags 483 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags
482 * @param pipe_stdin pipe to use to send input to child process (or NULL) 484 * @param pipe_stdin pipe to use to send input to child process (or NULL)
483 * @param pipe_stdout pipe to use to get output from child process (or NULL) 485 * @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,
487 * @return pointer to process structure of the new process, NULL on error 489 * @return pointer to process structure of the new process, NULL on error
488 */ 490 */
489struct GNUNET_OS_Process * 491struct GNUNET_OS_Process *
490GNUNET_OS_start_process (int pipe_control, 492GNUNET_OS_start_process (enum GNUNET_OS_InheritStdioFlags std_inheritance,
491 enum GNUNET_OS_InheritStdioFlags std_inheritance,
492 struct GNUNET_DISK_PipeHandle *pipe_stdin, 493 struct GNUNET_DISK_PipeHandle *pipe_stdin,
493 struct GNUNET_DISK_PipeHandle *pipe_stdout, 494 struct GNUNET_DISK_PipeHandle *pipe_stdout,
494 struct GNUNET_DISK_PipeHandle *pipe_stderr, 495 struct GNUNET_DISK_PipeHandle *pipe_stderr,
@@ -498,7 +499,6 @@ GNUNET_OS_start_process (int pipe_control,
498/** 499/**
499 * Start a process. 500 * Start a process.
500 * 501 *
501 * @param pipe_control should a pipe be used to send signals to the child?
502 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags 502 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags
503 * @param pipe_stdin pipe to use to send input to child process (or NULL) 503 * @param pipe_stdin pipe to use to send input to child process (or NULL)
504 * @param pipe_stdout pipe to use to get output from child process (or NULL) 504 * @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,
508 * @return pointer to process structure of the new process, NULL on error 508 * @return pointer to process structure of the new process, NULL on error
509 */ 509 */
510struct GNUNET_OS_Process * 510struct GNUNET_OS_Process *
511GNUNET_OS_start_process_va (int pipe_control, 511GNUNET_OS_start_process_va (enum GNUNET_OS_InheritStdioFlags std_inheritance,
512 enum GNUNET_OS_InheritStdioFlags std_inheritance,
513 struct GNUNET_DISK_PipeHandle *pipe_stdin, 512 struct GNUNET_DISK_PipeHandle *pipe_stdin,
514 struct GNUNET_DISK_PipeHandle *pipe_stdout, 513 struct GNUNET_DISK_PipeHandle *pipe_stdout,
515 struct GNUNET_DISK_PipeHandle *pipe_stderr, 514 struct GNUNET_DISK_PipeHandle *pipe_stderr,
@@ -518,7 +517,6 @@ GNUNET_OS_start_process_va (int pipe_control,
518/** 517/**
519 * Start a process. 518 * Start a process.
520 * 519 *
521 * @param pipe_control should a pipe be used to send signals to the child?
522 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags 520 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags
523 * @param lsocks array of listen sockets to dup systemd-style (or NULL); 521 * @param lsocks array of listen sockets to dup systemd-style (or NULL);
524 * must be NULL on platforms where dup is not supported 522 * must be NULL on platforms where dup is not supported
@@ -528,8 +526,7 @@ GNUNET_OS_start_process_va (int pipe_control,
528 * @return pointer to process structure of the new process, NULL on error 526 * @return pointer to process structure of the new process, NULL on error
529 */ 527 */
530struct GNUNET_OS_Process * 528struct GNUNET_OS_Process *
531GNUNET_OS_start_process_v (int pipe_control, 529GNUNET_OS_start_process_v (enum GNUNET_OS_InheritStdioFlags std_inheritance,
532 enum GNUNET_OS_InheritStdioFlags std_inheritance,
533 const int *lsocks, 530 const int *lsocks,
534 const char *filename, 531 const char *filename,
535 char *const argv[]); 532 char *const argv[]);
@@ -542,7 +539,6 @@ GNUNET_OS_start_process_v (int pipe_control,
542 * in the order they appear. Arguments containing spaces can be used by 539 * in the order they appear. Arguments containing spaces can be used by
543 * quoting them with @em ". 540 * quoting them with @em ".
544 * 541 *
545 * @param pipe_control should a pipe be used to send signals to the child?
546 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags 542 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags
547 * @param lsocks array of listen sockets to dup systemd-style (or NULL); 543 * @param lsocks array of listen sockets to dup systemd-style (or NULL);
548 * must be NULL on platforms where dup is not supported 544 * must be NULL on platforms where dup is not supported
@@ -554,8 +550,7 @@ GNUNET_OS_start_process_v (int pipe_control,
554 * @return pointer to process structure of the new process, NULL on error 550 * @return pointer to process structure of the new process, NULL on error
555 */ 551 */
556struct GNUNET_OS_Process * 552struct GNUNET_OS_Process *
557GNUNET_OS_start_process_s (int pipe_control, 553GNUNET_OS_start_process_s (enum GNUNET_OS_InheritStdioFlags std_inheritance,
558 enum GNUNET_OS_InheritStdioFlags std_inheritance,
559 const int *lsocks, 554 const int *lsocks,
560 const char *filename, ...); 555 const char *filename, ...);
561 556
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)
234 "Starting `%s' at `%s'\n", 234 "Starting `%s' at `%s'\n",
235 "gnunet-helper-nat-server", 235 "gnunet-helper-nat-server",
236 ia); 236 ia);
237 h->server_proc = GNUNET_OS_start_process (GNUNET_NO, 237 h->server_proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_NONE,
238 0,
239 NULL, 238 NULL,
240 h->server_stdout, 239 h->server_stdout,
241 NULL, 240 NULL,
@@ -378,8 +377,7 @@ GN_request_connection_reversal (const struct in_addr *internal_address,
378 remv4, 377 remv4,
379 internal_port); 378 internal_port);
380 binary = GNUNET_OS_get_suid_binary_path (cfg, "gnunet-helper-nat-client"); 379 binary = GNUNET_OS_get_suid_binary_path (cfg, "gnunet-helper-nat-client");
381 proc = GNUNET_OS_start_process (GNUNET_NO, 380 proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_NONE,
382 0,
383 NULL, 381 NULL,
384 NULL, 382 NULL,
385 NULL, 383 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)
199 eh->task = GNUNET_SCHEDULER_add_now (&signal_external_ip_error, eh); 199 eh->task = GNUNET_SCHEDULER_add_now (&signal_external_ip_error, eh);
200 return eh; 200 return eh;
201 } 201 }
202 eh->eip = GNUNET_OS_start_process (GNUNET_NO, 202 eh->eip = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_NONE,
203 0,
204 NULL, 203 NULL,
205 eh->opipe, 204 eh->opipe,
206 NULL, 205 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[])
117 return 0; 117 return 0;
118 } 118 }
119 119
120 gns = GNUNET_OS_start_process (GNUNET_YES, 120 gns = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
121 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 121 | GNUNET_OS_USE_PIPE_CONTROL,
122 NULL, NULL, NULL, 122 NULL, NULL, NULL,
123 "gnunet-nat-server", 123 "gnunet-nat-server",
124 "gnunet-nat-server", 124 "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[])
277 277
278 /* Lets start resolver */ 278 /* Lets start resolver */
279 fn = GNUNET_OS_get_libexec_binary_path ("gnunet-service-resolver"); 279 fn = GNUNET_OS_get_libexec_binary_path ("gnunet-service-resolver");
280 proc = GNUNET_OS_start_process (GNUNET_YES, 280 proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
281 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 281 | GNUNET_OS_USE_PIPE_CONTROL,
282 NULL, NULL, NULL, 282 NULL, NULL, NULL,
283 fn, 283 fn,
284 "gnunet-service-resolver", 284 "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,
162 "Applying SQL file `%s' on database %s\n", 162 "Applying SQL file `%s' on database %s\n",
163 buf, 163 buf,
164 db->config_str); 164 db->config_str);
165 psql = GNUNET_OS_start_process (GNUNET_NO, 165 psql = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_NONE,
166 GNUNET_OS_INHERIT_STD_NONE,
167 NULL, 166 NULL,
168 NULL, 167 NULL,
169 NULL, 168 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[])
197 NULL); 197 NULL);
198 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-statistics"); 198 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-statistics");
199 proc = 199 proc =
200 GNUNET_OS_start_process (GNUNET_YES, 200 GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
201 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 201 | GNUNET_OS_USE_PIPE_CONTROL,
202 NULL, NULL, NULL, 202 NULL, NULL, NULL,
203 binary, 203 binary,
204 "gnunet-service-statistics", 204 "gnunet-service-statistics",
@@ -225,8 +225,8 @@ main (int argc, char *argv_ign[])
225 ok = 1; 225 ok = 1;
226 /* restart to check persistence! */ 226 /* restart to check persistence! */
227 proc = 227 proc =
228 GNUNET_OS_start_process (GNUNET_YES, 228 GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
229 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 229 | GNUNET_OS_USE_PIPE_CONTROL,
230 NULL, NULL, NULL, 230 NULL, NULL, NULL,
231 binary, 231 binary,
232 "gnunet-service-statistics", 232 "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[])
98 98
99 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-statistics"); 99 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-statistics");
100 proc = 100 proc =
101 GNUNET_OS_start_process (GNUNET_YES, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 101 GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
102 | GNUNET_OS_USE_PIPE_CONTROL,
102 NULL, NULL, NULL, 103 NULL, NULL, NULL,
103 binary, 104 binary,
104 "gnunet-service-statistics", 105 "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[])
130 130
131 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-statistics"); 131 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-statistics");
132 proc = 132 proc =
133 GNUNET_OS_start_process (GNUNET_YES, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 133 GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
134 | GNUNET_OS_USE_PIPE_CONTROL,
134 NULL, NULL, NULL, 135 NULL, NULL, NULL,
135 binary, 136 binary,
136 "gnunet-service-statistics", 137 "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[])
168 168
169 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-statistics"); 169 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-statistics");
170 proc = 170 proc =
171 GNUNET_OS_start_process (GNUNET_YES, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 171 GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
172 | GNUNET_OS_USE_PIPE_CONTROL,
172 NULL, NULL, NULL, 173 NULL, NULL, NULL,
173 binary, 174 binary,
174 "gnunet-service-statistics", 175 "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
@@ -58,12 +58,6 @@
58 58
59 59
60/** 60/**
61 * We need pipe control only on WINDOWS
62 */
63#define PIPE_CONTROL GNUNET_NO
64
65
66/**
67 * Context for a single write on a chunk of memory 61 * Context for a single write on a chunk of memory
68 */ 62 */
69struct WriteContext 63struct WriteContext
@@ -435,8 +429,7 @@ tokenizer_cb (void *cls, const struct GNUNET_MessageHeader *message)
435 see putenv(): becomes part of envrionment! */ 429 see putenv(): becomes part of envrionment! */
436 evstr = NULL; 430 evstr = NULL;
437 } 431 }
438 testbed = GNUNET_OS_start_process (PIPE_CONTROL, 432 testbed = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_ERR /*verbose? */,
439 GNUNET_OS_INHERIT_STD_ERR /*verbose? */,
440 NULL, 433 NULL,
441 NULL, 434 NULL,
442 NULL, 435 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 (
1384 join_argv ((const char **) rsh_args, (const char **) rsh_suffix_args); 1384 join_argv ((const char **) rsh_args, (const char **) rsh_suffix_args);
1385 free_argv (rsh_suffix_args); 1385 free_argv (rsh_suffix_args);
1386 free_argv (rsh_args); 1386 free_argv (rsh_args);
1387 h->auxp = GNUNET_OS_start_process_vap (GNUNET_NO, 1387 h->auxp = GNUNET_OS_start_process_vap (GNUNET_OS_INHERIT_STD_ERR,
1388 GNUNET_OS_INHERIT_STD_ERR,
1389 NULL, 1388 NULL,
1390 NULL, 1389 NULL,
1391 NULL, 1390 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
@@ -38,12 +38,6 @@
38 38
39 39
40/** 40/**
41 * We need pipe control only on WINDOWS
42 */
43#define PIPE_CONTROL GNUNET_NO
44
45
46/**
47 * Lowest port used for GNUnet testing. Should be high enough to not 41 * Lowest port used for GNUnet testing. Should be high enough to not
48 * conflict with other applications running on the hosts but be low 42 * conflict with other applications running on the hosts but be low
49 * enough to not conflict with client-ports (typically starting around 43 * enough to not conflict with client-ports (typically starting around
@@ -492,8 +486,7 @@ start_shared_service_instance (struct SharedServiceInstance *i)
492 (void) GNUNET_asprintf (&binary, "gnunet-service-%s", i->ss->sname); 486 (void) GNUNET_asprintf (&binary, "gnunet-service-%s", i->ss->sname);
493 libexec_binary = GNUNET_OS_get_libexec_binary_path (binary); 487 libexec_binary = GNUNET_OS_get_libexec_binary_path (binary);
494 GNUNET_free (binary); 488 GNUNET_free (binary);
495 i->proc = GNUNET_OS_start_process (PIPE_CONTROL, 489 i->proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
496 GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
497 NULL, 490 NULL,
498 NULL, 491 NULL,
499 NULL, 492 NULL,
@@ -1378,8 +1371,7 @@ GNUNET_TESTING_peer_start (struct GNUNET_TESTING_Peer *peer)
1378 peer->main_binary = 1371 peer->main_binary =
1379 GNUNET_CONFIGURATION_expand_dollar (peer->cfg, peer->main_binary); 1372 GNUNET_CONFIGURATION_expand_dollar (peer->cfg, peer->main_binary);
1380 peer->main_process = 1373 peer->main_process =
1381 GNUNET_OS_start_process_s (PIPE_CONTROL, 1374 GNUNET_OS_start_process_s (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
1382 GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
1383 NULL, 1375 NULL,
1384 peer->main_binary, 1376 peer->main_binary,
1385 peer->args, 1377 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)
2188 "No usable TLS certificate found, creating certificate\n"); 2188 "No usable TLS certificate found, creating certificate\n");
2189 errno = 0; 2189 errno = 0;
2190 cert_creation = 2190 cert_creation =
2191 GNUNET_OS_start_process (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 2191 GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
2192 NULL, NULL, NULL, 2192 NULL, NULL, NULL,
2193 "gnunet-transport-certificate-creation", 2193 "gnunet-transport-certificate-creation",
2194 "gnunet-transport-certificate-creation", 2194 "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 (
915 915
916 LOG (GNUNET_ERROR_TYPE_DEBUG, "communicator_start\n"); 916 LOG (GNUNET_ERROR_TYPE_DEBUG, "communicator_start\n");
917 binary = GNUNET_OS_get_libexec_binary_path (binary_name); 917 binary = GNUNET_OS_get_libexec_binary_path (binary_name);
918 tc_h->c_proc = GNUNET_OS_start_process (GNUNET_YES, 918 tc_h->c_proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
919 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 919 | GNUNET_OS_USE_PIPE_CONTROL,
920 NULL, 920 NULL,
921 NULL, 921 NULL,
922 NULL, 922 NULL,
@@ -967,8 +967,8 @@ resolver_start (struct
967 967
968 LOG (GNUNET_ERROR_TYPE_DEBUG, "resolver_start\n"); 968 LOG (GNUNET_ERROR_TYPE_DEBUG, "resolver_start\n");
969 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-resolver"); 969 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-resolver");
970 tc_h->resolver_proc = GNUNET_OS_start_process (GNUNET_YES, 970 tc_h->resolver_proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
971 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 971 | GNUNET_OS_USE_PIPE_CONTROL,
972 NULL, 972 NULL,
973 NULL, 973 NULL,
974 NULL, 974 NULL,
@@ -999,8 +999,8 @@ nat_start (
999 999
1000 LOG (GNUNET_ERROR_TYPE_DEBUG, "nat_start\n"); 1000 LOG (GNUNET_ERROR_TYPE_DEBUG, "nat_start\n");
1001 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-nat"); 1001 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-service-nat");
1002 tc_h->nat_proc = GNUNET_OS_start_process (GNUNET_YES, 1002 tc_h->nat_proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
1003 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 1003 | GNUNET_OS_USE_PIPE_CONTROL,
1004 NULL, 1004 NULL,
1005 NULL, 1005 NULL,
1006 NULL, 1006 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,
192 GNUNET_array_append (argv, 192 GNUNET_array_append (argv,
193 argc, 193 argc,
194 NULL); 194 NULL);
195 p = GNUNET_OS_start_process_vap (GNUNET_NO, 195 p = GNUNET_OS_start_process_vap (GNUNET_OS_INHERIT_STD_ALL,
196 GNUNET_OS_INHERIT_STD_ALL,
197 NULL, 196 NULL,
198 NULL, 197 NULL,
199 NULL, 198 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,
115 GNUNET_DISK_pipe_handle (sigpipe, GNUNET_DISK_PIPE_END_READ), 115 GNUNET_DISK_pipe_handle (sigpipe, GNUNET_DISK_PIPE_END_READ),
116 &maint_child_death, 116 &maint_child_death,
117 NULL); 117 NULL);
118 p = GNUNET_OS_start_process (GNUNET_NO, 118 p = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_NONE,
119 0,
120 NULL, 119 NULL,
121 NULL, 120 NULL,
122 NULL, 121 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)
422 GNUNET_DISK_pipe_handle (h->helper_out, GNUNET_DISK_PIPE_END_READ); 422 GNUNET_DISK_pipe_handle (h->helper_out, GNUNET_DISK_PIPE_END_READ);
423 h->fh_to_helper = 423 h->fh_to_helper =
424 GNUNET_DISK_pipe_handle (h->helper_in, GNUNET_DISK_PIPE_END_WRITE); 424 GNUNET_DISK_pipe_handle (h->helper_in, GNUNET_DISK_PIPE_END_WRITE);
425 h->helper_proc = GNUNET_OS_start_process_vap (h->with_control_pipe, 425 h->helper_proc = GNUNET_OS_start_process_vap (h->with_control_pipe
426 GNUNET_OS_INHERIT_STD_ERR, 426 ? GNUNET_OS_INHERIT_STD_ERR | GNUNET_OS_USE_PIPE_CONTROL
427 : GNUNET_OS_INHERIT_STD_ERR,
427 h->helper_in, 428 h->helper_in,
428 h->helper_out, 429 h->helper_out,
429 NULL, 430 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)
326/** 326/**
327 * Start a process. 327 * Start a process.
328 * 328 *
329 * @param pipe_control should a pipe be used to send signals to the child?
330 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags controlling which 329 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags controlling which
331 * std handles of the parent are inherited by the child. 330 * std handles of the parent are inherited by the child.
332 * pipe_stdin and pipe_stdout take priority over std_inheritance 331 * pipe_stdin and pipe_stdout take priority over std_inheritance
@@ -341,8 +340,7 @@ open_dev_null (int target_fd, int flags)
341 * @return process ID of the new process, -1 on error 340 * @return process ID of the new process, -1 on error
342 */ 341 */
343static struct GNUNET_OS_Process * 342static struct GNUNET_OS_Process *
344start_process (int pipe_control, 343start_process (enum GNUNET_OS_InheritStdioFlags std_inheritance,
345 enum GNUNET_OS_InheritStdioFlags std_inheritance,
346 struct GNUNET_DISK_PipeHandle *pipe_stdin, 344 struct GNUNET_DISK_PipeHandle *pipe_stdin,
347 struct GNUNET_DISK_PipeHandle *pipe_stdout, 345 struct GNUNET_DISK_PipeHandle *pipe_stdout,
348 struct GNUNET_DISK_PipeHandle *pipe_stderr, 346 struct GNUNET_DISK_PipeHandle *pipe_stderr,
@@ -373,7 +371,7 @@ start_process (int pipe_control,
373 if (GNUNET_SYSERR == 371 if (GNUNET_SYSERR ==
374 GNUNET_OS_check_helper_binary (filename, GNUNET_NO, NULL)) 372 GNUNET_OS_check_helper_binary (filename, GNUNET_NO, NULL))
375 return NULL; /* not executable */ 373 return NULL; /* not executable */
376 if (GNUNET_YES == pipe_control) 374 if (0 != (std_inheritance & GNUNET_OS_USE_PIPE_CONTROL))
377 { 375 {
378 struct GNUNET_DISK_PipeHandle *childpipe; 376 struct GNUNET_DISK_PipeHandle *childpipe;
379 int dup_childpipe_read_fd = -1; 377 int dup_childpipe_read_fd = -1;
@@ -486,7 +484,7 @@ start_process (int pipe_control,
486 gnunet_proc = GNUNET_new (struct GNUNET_OS_Process); 484 gnunet_proc = GNUNET_new (struct GNUNET_OS_Process);
487 gnunet_proc->pid = ret; 485 gnunet_proc->pid = ret;
488 gnunet_proc->control_pipe = childpipe_write; 486 gnunet_proc->control_pipe = childpipe_write;
489 if (GNUNET_YES == pipe_control) 487 if (0 != (std_inheritance & GNUNET_OS_USE_PIPE_CONTROL))
490 { 488 {
491 close (childpipe_read_fd); 489 close (childpipe_read_fd);
492 } 490 }
@@ -594,7 +592,6 @@ start_process (int pipe_control,
594/** 592/**
595 * Start a process. 593 * Start a process.
596 * 594 *
597 * @param pipe_control should a pipe be used to send signals to the child?
598 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags 595 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags
599 * @param pipe_stdin pipe to use to send input to child process (or NULL) 596 * @param pipe_stdin pipe to use to send input to child process (or NULL)
600 * @param pipe_stdout pipe to use to get output from child process (or NULL) 597 * @param pipe_stdout pipe to use to get output from child process (or NULL)
@@ -604,16 +601,14 @@ start_process (int pipe_control,
604 * @return pointer to process structure of the new process, NULL on error 601 * @return pointer to process structure of the new process, NULL on error
605 */ 602 */
606struct GNUNET_OS_Process * 603struct GNUNET_OS_Process *
607GNUNET_OS_start_process_vap (int pipe_control, 604GNUNET_OS_start_process_vap (enum GNUNET_OS_InheritStdioFlags std_inheritance,
608 enum GNUNET_OS_InheritStdioFlags std_inheritance,
609 struct GNUNET_DISK_PipeHandle *pipe_stdin, 605 struct GNUNET_DISK_PipeHandle *pipe_stdin,
610 struct GNUNET_DISK_PipeHandle *pipe_stdout, 606 struct GNUNET_DISK_PipeHandle *pipe_stdout,
611 struct GNUNET_DISK_PipeHandle *pipe_stderr, 607 struct GNUNET_DISK_PipeHandle *pipe_stderr,
612 const char *filename, 608 const char *filename,
613 char *const argv[]) 609 char *const argv[])
614{ 610{
615 return start_process (pipe_control, 611 return start_process (std_inheritance,
616 std_inheritance,
617 pipe_stdin, 612 pipe_stdin,
618 pipe_stdout, 613 pipe_stdout,
619 pipe_stderr, 614 pipe_stderr,
@@ -626,7 +621,6 @@ GNUNET_OS_start_process_vap (int pipe_control,
626/** 621/**
627 * Start a process. 622 * Start a process.
628 * 623 *
629 * @param pipe_control should a pipe be used to send signals to the child?
630 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags 624 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags
631 * @param pipe_stdin pipe to use to send input to child process (or NULL) 625 * @param pipe_stdin pipe to use to send input to child process (or NULL)
632 * @param pipe_stdout pipe to use to get output from child process (or NULL) 626 * @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,
636 * @return pointer to process structure of the new process, NULL on error 630 * @return pointer to process structure of the new process, NULL on error
637 */ 631 */
638struct GNUNET_OS_Process * 632struct GNUNET_OS_Process *
639GNUNET_OS_start_process_va (int pipe_control, 633GNUNET_OS_start_process_va (enum GNUNET_OS_InheritStdioFlags std_inheritance,
640 enum GNUNET_OS_InheritStdioFlags std_inheritance,
641 struct GNUNET_DISK_PipeHandle *pipe_stdin, 634 struct GNUNET_DISK_PipeHandle *pipe_stdin,
642 struct GNUNET_DISK_PipeHandle *pipe_stdout, 635 struct GNUNET_DISK_PipeHandle *pipe_stdout,
643 struct GNUNET_DISK_PipeHandle *pipe_stderr, 636 struct GNUNET_DISK_PipeHandle *pipe_stderr,
@@ -660,8 +653,7 @@ GNUNET_OS_start_process_va (int pipe_control,
660 while (NULL != (argv[argc] = va_arg (ap, char *))) 653 while (NULL != (argv[argc] = va_arg (ap, char *)))
661 argc++; 654 argc++;
662 va_end (ap); 655 va_end (ap);
663 ret = GNUNET_OS_start_process_vap (pipe_control, 656 ret = GNUNET_OS_start_process_vap (std_inheritance,
664 std_inheritance,
665 pipe_stdin, 657 pipe_stdin,
666 pipe_stdout, 658 pipe_stdout,
667 pipe_stderr, 659 pipe_stderr,
@@ -675,7 +667,6 @@ GNUNET_OS_start_process_va (int pipe_control,
675/** 667/**
676 * Start a process. 668 * Start a process.
677 * 669 *
678 * @param pipe_control should a pipe be used to send signals to the child?
679 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags 670 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags
680 * @param pipe_stdin pipe to use to send input to child process (or NULL) 671 * @param pipe_stdin pipe to use to send input to child process (or NULL)
681 * @param pipe_stdout pipe to use to get output from child process (or NULL) 672 * @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,
684 * @return pointer to process structure of the new process, NULL on error 675 * @return pointer to process structure of the new process, NULL on error
685 */ 676 */
686struct GNUNET_OS_Process * 677struct GNUNET_OS_Process *
687GNUNET_OS_start_process (int pipe_control, 678GNUNET_OS_start_process (enum GNUNET_OS_InheritStdioFlags std_inheritance,
688 enum GNUNET_OS_InheritStdioFlags std_inheritance,
689 struct GNUNET_DISK_PipeHandle *pipe_stdin, 679 struct GNUNET_DISK_PipeHandle *pipe_stdin,
690 struct GNUNET_DISK_PipeHandle *pipe_stdout, 680 struct GNUNET_DISK_PipeHandle *pipe_stdout,
691 struct GNUNET_DISK_PipeHandle *pipe_stderr, 681 struct GNUNET_DISK_PipeHandle *pipe_stderr,
@@ -696,8 +686,7 @@ GNUNET_OS_start_process (int pipe_control,
696 va_list ap; 686 va_list ap;
697 687
698 va_start (ap, filename); 688 va_start (ap, filename);
699 ret = GNUNET_OS_start_process_va (pipe_control, 689 ret = GNUNET_OS_start_process_va (std_inheritance,
700 std_inheritance,
701 pipe_stdin, 690 pipe_stdin,
702 pipe_stdout, 691 pipe_stdout,
703 pipe_stderr, 692 pipe_stderr,
@@ -711,7 +700,6 @@ GNUNET_OS_start_process (int pipe_control,
711/** 700/**
712 * Start a process. 701 * Start a process.
713 * 702 *
714 * @param pipe_control should a pipe be used to send signals to the child?
715 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags controlling which 703 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags controlling which
716 * std handles of the parent are inherited by the child. 704 * std handles of the parent are inherited by the child.
717 * pipe_stdin and pipe_stdout take priority over std_inheritance 705 * pipe_stdin and pipe_stdout take priority over std_inheritance
@@ -723,14 +711,12 @@ GNUNET_OS_start_process (int pipe_control,
723 * @return process ID of the new process, -1 on error 711 * @return process ID of the new process, -1 on error
724 */ 712 */
725struct GNUNET_OS_Process * 713struct GNUNET_OS_Process *
726GNUNET_OS_start_process_v (int pipe_control, 714GNUNET_OS_start_process_v (enum GNUNET_OS_InheritStdioFlags std_inheritance,
727 enum GNUNET_OS_InheritStdioFlags std_inheritance,
728 const int *lsocks, 715 const int *lsocks,
729 const char *filename, 716 const char *filename,
730 char *const argv[]) 717 char *const argv[])
731{ 718{
732 return start_process (pipe_control, 719 return start_process (std_inheritance,
733 std_inheritance,
734 NULL, 720 NULL,
735 NULL, 721 NULL,
736 NULL, 722 NULL,
@@ -747,7 +733,6 @@ GNUNET_OS_start_process_v (int pipe_control,
747 * in the order they appear. Arguments containing spaces can be used by 733 * in the order they appear. Arguments containing spaces can be used by
748 * quoting them with @em ". 734 * quoting them with @em ".
749 * 735 *
750 * @param pipe_control should a pipe be used to send signals to the child?
751 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags 736 * @param std_inheritance a set of GNUNET_OS_INHERIT_STD_* flags
752 * @param lsocks array of listen sockets to dup systemd-style (or NULL); 737 * @param lsocks array of listen sockets to dup systemd-style (or NULL);
753 * must be NULL on platforms where dup is not supported 738 * must be NULL on platforms where dup is not supported
@@ -759,8 +744,7 @@ GNUNET_OS_start_process_v (int pipe_control,
759 * @return pointer to process structure of the new process, NULL on error 744 * @return pointer to process structure of the new process, NULL on error
760 */ 745 */
761struct GNUNET_OS_Process * 746struct GNUNET_OS_Process *
762GNUNET_OS_start_process_s (int pipe_control, 747GNUNET_OS_start_process_s (enum GNUNET_OS_InheritStdioFlags std_inheritance,
763 enum GNUNET_OS_InheritStdioFlags std_inheritance,
764 const int *lsocks, 748 const int *lsocks,
765 const char *filename, 749 const char *filename,
766 ...) 750 ...)
@@ -869,8 +853,7 @@ GNUNET_OS_start_process_s (int pipe_control,
869 } 853 }
870 } 854 }
871 binary_path = argv[0]; 855 binary_path = argv[0];
872 proc = GNUNET_OS_start_process_v (pipe_control, 856 proc = GNUNET_OS_start_process_v (std_inheritance,
873 std_inheritance,
874 lsocks, 857 lsocks,
875 binary_path, 858 binary_path,
876 argv); 859 argv);
@@ -1175,7 +1158,12 @@ GNUNET_OS_command_run (GNUNET_OS_LineProcessor proc,
1175 va_start (ap, binary); 1158 va_start (ap, binary);
1176 /* redirect stdout, don't inherit stderr/stdin */ 1159 /* redirect stdout, don't inherit stderr/stdin */
1177 eip = 1160 eip =
1178 GNUNET_OS_start_process_va (GNUNET_NO, 0, NULL, opipe, NULL, binary, ap); 1161 GNUNET_OS_start_process_va (GNUNET_OS_INHERIT_STD_NONE,
1162 NULL,
1163 opipe,
1164 NULL,
1165 binary,
1166 ap);
1179 va_end (ap); 1167 va_end (ap);
1180 if (NULL == eip) 1168 if (NULL == eip)
1181 { 1169 {
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 ()
403 break; 403 break;
404 } 404 }
405 405
406 proc = GNUNET_OS_start_process (GNUNET_NO, GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 406 proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
407 NULL, pipe_stdout, NULL, 407 NULL, pipe_stdout, NULL,
408 "./test_common_logging_dummy", 408 "./test_common_logging_dummy",
409 "test_common_logging_dummy", NULL); 409 "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)
138 } 138 }
139 139
140 proc = 140 proc =
141 GNUNET_OS_start_process (GNUNET_NO, GNUNET_OS_INHERIT_STD_ERR, 141 GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_ERR,
142 hello_pipe_stdin, hello_pipe_stdout, NULL, 142 hello_pipe_stdin, hello_pipe_stdout, NULL,
143 fn, 143 fn,
144 "test_gnunet_echo_hello", "-", NULL); 144 "test_gnunet_echo_hello", "-", NULL);
@@ -212,7 +212,8 @@ check_kill ()
212 } 212 }
213 fn = GNUNET_OS_get_libexec_binary_path ("gnunet-service-resolver"); 213 fn = GNUNET_OS_get_libexec_binary_path ("gnunet-service-resolver");
214 proc = 214 proc =
215 GNUNET_OS_start_process (GNUNET_YES, GNUNET_OS_INHERIT_STD_ERR, 215 GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_ERR
216 | GNUNET_OS_USE_PIPE_CONTROL,
216 hello_pipe_stdin, 217 hello_pipe_stdin,
217 hello_pipe_stdout, 218 hello_pipe_stdout,
218 NULL, 219 NULL,
@@ -256,7 +257,8 @@ check_instant_kill ()
256 } 257 }
257 fn = GNUNET_OS_get_libexec_binary_path ("gnunet-service-resolver"); 258 fn = GNUNET_OS_get_libexec_binary_path ("gnunet-service-resolver");
258 proc = 259 proc =
259 GNUNET_OS_start_process (GNUNET_YES, GNUNET_OS_INHERIT_STD_ERR, 260 GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_ERR
261 | GNUNET_OS_USE_PIPE_CONTROL,
260 hello_pipe_stdin, hello_pipe_stdout, NULL, 262 hello_pipe_stdin, hello_pipe_stdout, NULL,
261 fn, 263 fn,
262 "gnunet-service-resolver", "-", NULL); 264 "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[])
348 "WARNING", 348 "WARNING",
349 NULL); 349 NULL);
350 fn = GNUNET_OS_get_libexec_binary_path ("gnunet-service-resolver"); 350 fn = GNUNET_OS_get_libexec_binary_path ("gnunet-service-resolver");
351 proc = GNUNET_OS_start_process (GNUNET_YES, 351 proc = GNUNET_OS_start_process (GNUNET_OS_INHERIT_STD_OUT_AND_ERR
352 GNUNET_OS_INHERIT_STD_OUT_AND_ERR, 352 | GNUNET_OS_USE_PIPE_CONTROL,
353 NULL, NULL, NULL, 353 NULL, NULL, NULL,
354 fn, 354 fn,
355 "gnunet-service-resolver", 355 "gnunet-service-resolver",