From 6d6b223694303d3b437a2dcee72e4d3542505066 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sat, 11 Aug 2018 05:25:21 +0200 Subject: [PATCH] cache result from log level check --- src/exchange/taler-exchange-httpd.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/exchange/taler-exchange-httpd.c b/src/exchange/taler-exchange-httpd.c index 19c318dbd..286614a5c 100644 --- a/src/exchange/taler-exchange-httpd.c +++ b/src/exchange/taler-exchange-httpd.c @@ -721,16 +721,33 @@ handle_mhd_logs (void *cls, const char *fm, va_list ap) { + static int cache; char buf[2048]; + if (-1 == cache) + return; + if (0 == cache) + { + if (0 == + GNUNET_get_log_call_status (GNUNET_ERROR_TYPE_INFO, + "libmicrohttpd", + __FILE__, + __FUNCTION__, + __LINE__)) + { + cache = -1; + return; + } + } + cache = 1; vsnprintf (buf, sizeof (buf), fm, ap); - GNUNET_log_from (GNUNET_ERROR_TYPE_INFO, - "libmicrohttpd", - "%s", - buf); + GNUNET_log_from_nocheck (GNUNET_ERROR_TYPE_INFO, + "libmicrohttpd", + "%s", + buf); }