diff options
-rw-r--r-- | src/select.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/select.c b/src/select.c index b594ca55..4e7be354 100644 --- a/src/select.c +++ b/src/select.c @@ -35,6 +35,7 @@ #include <osmocom/core/select.h> #include <osmocom/core/linuxlist.h> #include <osmocom/core/timer.h> +#include <osmocom/core/logging.h> #include "../config.h" @@ -214,6 +215,11 @@ restart: if (flags) { work = 1; + /* make sure to clear any log context before processing the next incoming message + * as part of some file descriptor callback. This effectively prevents "context + * leaking" from processing of one message into processing of the next message as part + * of one iteration through the list of file descriptors here. See OS#3813 */ + log_reset_context(); ufd->cb(ufd, flags); } /* ugly, ugly hack. If more than one filedescriptor was |