diff options
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 | ||
89 | static int | 89 | static int |
90 | run_process_and_wait (int pipe_control, | 90 | run_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 | */ |
467 | struct GNUNET_OS_Process * | 471 | struct GNUNET_OS_Process * |
468 | GNUNET_OS_start_process_vap (int pipe_control, | 472 | GNUNET_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 | */ |
489 | struct GNUNET_OS_Process * | 491 | struct GNUNET_OS_Process * |
490 | GNUNET_OS_start_process (int pipe_control, | 492 | GNUNET_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 | */ |
510 | struct GNUNET_OS_Process * | 510 | struct GNUNET_OS_Process * |
511 | GNUNET_OS_start_process_va (int pipe_control, | 511 | GNUNET_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 | */ |
530 | struct GNUNET_OS_Process * | 528 | struct GNUNET_OS_Process * |
531 | GNUNET_OS_start_process_v (int pipe_control, | 529 | GNUNET_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 | */ |
556 | struct GNUNET_OS_Process * | 552 | struct GNUNET_OS_Process * |
557 | GNUNET_OS_start_process_s (int pipe_control, | 553 | GNUNET_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 | */ |
69 | struct WriteContext | 63 | struct 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 | */ |
343 | static struct GNUNET_OS_Process * | 342 | static struct GNUNET_OS_Process * |
344 | start_process (int pipe_control, | 343 | start_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 | */ |
606 | struct GNUNET_OS_Process * | 603 | struct GNUNET_OS_Process * |
607 | GNUNET_OS_start_process_vap (int pipe_control, | 604 | GNUNET_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 | */ |
638 | struct GNUNET_OS_Process * | 632 | struct GNUNET_OS_Process * |
639 | GNUNET_OS_start_process_va (int pipe_control, | 633 | GNUNET_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 | */ |
686 | struct GNUNET_OS_Process * | 677 | struct GNUNET_OS_Process * |
687 | GNUNET_OS_start_process (int pipe_control, | 678 | GNUNET_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 | */ |
725 | struct GNUNET_OS_Process * | 713 | struct GNUNET_OS_Process * |
726 | GNUNET_OS_start_process_v (int pipe_control, | 714 | GNUNET_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 | */ |
761 | struct GNUNET_OS_Process * | 746 | struct GNUNET_OS_Process * |
762 | GNUNET_OS_start_process_s (int pipe_control, | 747 | GNUNET_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", |