osmith has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/35146?usp=email ) Change subject: logging_gsmtap: Temporarily disable logging when sending the logs ...................................................................... logging_gsmtap: Temporarily disable logging when sending the logs This avoids an infinite recursion when sending a gsmtap log message causes a log message. Temporarily set target->loglevel higher than LOGL_FATAL, which effectively disables logging for that target. Other targets like stderr will still log this message so there is still an indication that something went wrong. Change-Id: I19203cadbad6019a3834793b8ac816d903fe088e Related: OS#6213 (cherry picked from commit f2629675aac5f95ae3c01f86f5bb3f342a1c1f9b) --- M src/core/logging_gsmtap.c 1 file changed, 23 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/core/logging_gsmtap.c b/src/core/logging_gsmtap.c index dfd059b..7775c27 100644 --- a/src/core/logging_gsmtap.c +++ b/src/core/logging_gsmtap.c @@ -65,6 +65,7 @@ struct timeval tv; int rc; const char *file_basename; + unsigned int _level; /* get timestamp ASAP */ osmo_gettimeofday(&tv, NULL); @@ -114,7 +115,11 @@ } msgb_put(msg, rc); + /* Ensure that any error occurring when sending the log message doesn't cause infinite recursion */ + _level = target->loglevel; + target->loglevel = UINT8_MAX; rc = gsmtap_sendmsg(target->tgt_gsmtap.gsmtap_inst, msg); + target->loglevel = _level; if (rc) msgb_free(msg); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/35146?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: osmith/1.9.2 Gerrit-Change-Id: I19203cadbad6019a3834793b8ac816d903fe088e Gerrit-Change-Number: 35146 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith@sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith <osmith@sysmocom.de> Gerrit-Reviewer: pespin <pespin@sysmocom.de> Gerrit-CC: daniel <dwillmann@sysmocom.de> Gerrit-MessageType: merged