taler-mdb

GNU Taler Extensions and Integrations
Log | Files | Refs | Submodules | README | LICENSE

commit 341ed690d57018f6c2679eaef1ce0d79d023771a
parent 96450beeae8c2f6495ad300ea75e947b2a1e8e27
Author: Christian Grothoff <christian@grothoff.org>
Date:   Mon, 16 Mar 2026 23:38:38 +0100

adapt to revised GNUNET_process() API one more time

Diffstat:
Msrc/taler-mdb.c | 50+++++++++++++++++++++++++++++---------------------
1 file changed, 29 insertions(+), 21 deletions(-)

diff --git a/src/taler-mdb.c b/src/taler-mdb.c @@ -649,13 +649,13 @@ static struct GNUNET_SCHEDULER_Task *err_stop_task; * Handle to the process showing messages/advertisements * while we are inactive. */ -static struct GNUNET_OS_Process *adv_child; +static struct GNUNET_Process *adv_child; /** * Handle to the process showing error messages * while we have one. */ -static struct GNUNET_OS_Process *err_child; +static struct GNUNET_Process *err_child; /** * Command to run when advertising is enabled. @@ -847,14 +847,14 @@ static struct Display qrDisplay; * @param ... extra arguments to pass * @return process handle, NULL on failure */ -static struct GNUNET_OS_Process * +static struct GNUNET_Process * start_command (const char *command, ...) { char **argv = NULL; unsigned int argc = 0; char *cpy = GNUNET_strdup (command); - struct GNUNET_OS_Process *ret; + struct GNUNET_Process *ret; va_list ap; const char *arg; @@ -879,16 +879,18 @@ start_command (const char *command, GNUNET_array_append (argv, argc, NULL); - ret = GNUNET_OS_start_process_vap (GNUNET_OS_INHERIT_STD_ERR, - NULL, - NULL, - NULL, - argv[0], - argv); - if (NULL == ret) + ret = GNUNET_process_create (GNUNET_OS_INHERIT_STD_ERR); + if (GNUNET_OK != + GNUNET_process_run_command_argv (ret, + argv[0], + (const char **) argv)) + { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to launch %s\n", argv[0]); + GNUNET_process_destroy (ret); + ret = NULL; + } for (unsigned int i = 0; i<argc; i++) GNUNET_free (argv[i]); GNUNET_array_grow (argv, @@ -909,12 +911,15 @@ stop_advertising (void) return; GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Stopping advertising\n"); - GNUNET_break (0 == - GNUNET_OS_process_kill (adv_child, - SIGTERM)); GNUNET_break (GNUNET_OK == - GNUNET_OS_process_wait (adv_child)); - GNUNET_OS_process_destroy (adv_child); + GNUNET_process_kill (adv_child, + SIGTERM)); + GNUNET_break (GNUNET_OK == + GNUNET_process_wait (adv_child, + true, + NULL, + NULL)); + GNUNET_process_destroy (adv_child); adv_child = NULL; } @@ -952,12 +957,15 @@ hide_error (void) GNUNET_SCHEDULER_cancel (err_stop_task); err_stop_task = NULL; } - GNUNET_break (0 == - GNUNET_OS_process_kill (err_child, - SIGTERM)); GNUNET_break (GNUNET_OK == - GNUNET_OS_process_wait (err_child)); - GNUNET_OS_process_destroy (err_child); + GNUNET_process_kill (err_child, + SIGTERM)); + GNUNET_break (GNUNET_OK == + GNUNET_process_wait (err_child, + true, + NULL, + NULL)); + GNUNET_process_destroy (err_child); err_child = NULL; }