commit e6005c830b91a97cf0e2cb9b983571c1b2f35ec4
parent 7194fb0020669e3fd301361925e488950bc5ebd4
Author: Christian Grothoff <christian@grothoff.org>
Date: Tue, 1 Apr 2025 15:53:11 +0200
fix MHD2 API usage, improve logging
Diffstat:
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/src/mhd/mhd2_run.c b/src/mhd/mhd2_run.c
@@ -99,10 +99,17 @@ static struct GNUNET_SCHEDULER_Task *
prepare_daemon (void)
{
uint_fast64_t next_max_wait;
+ enum MHD_StatusCode sc;
- GNUNET_break (MHD_SC_OK ==
- MHD_daemon_process_reg_events (mhd,
- &next_max_wait));
+ sc = MHD_daemon_process_reg_events (mhd,
+ &next_max_wait);
+ if (MHD_SC_OK != sc)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "MHD_daemon_process_reg_events failed: %d\n",
+ (int) sc);
+ return NULL;
+ }
if (MHD_WAIT_INDEFINITELY == next_max_wait)
return NULL;
return GNUNET_SCHEDULER_add_delayed (
@@ -124,12 +131,6 @@ static void
run_daemon (void *cls)
{
(void) cls;
- mhd_task = NULL;
- do {
- triggered = false;
- GNUNET_break (MHD_SC_OK ==
- MHD_daemon_process_nonblocking (mhd));
- } while (triggered);
mhd_task = prepare_daemon ();
}
@@ -244,6 +245,8 @@ socket_registration_update (
void
TALER_MHD2_daemon_start (struct MHD_Daemon *daemon)
{
+ enum MHD_StatusCode sc;
+
GNUNET_assert (NULL == mhd);
GNUNET_assert (MHD_SC_OK ==
MHD_DAEMON_SET_OPTIONS (
@@ -252,6 +255,14 @@ TALER_MHD2_daemon_start (struct MHD_Daemon *daemon)
&socket_registration_update,
NULL)));
mhd = daemon;
+ sc = MHD_daemon_start (mhd);
+ if (MHD_SC_OK != sc)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "MHD_daemon_start failed: %d\n",
+ (int) sc);
+ return;
+ }
mhd_task = prepare_daemon ();
}