From c2c2ec0c960941f34d3dbe0facacb04629406f8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Tue, 11 Jul 2023 09:39:02 +0200 Subject: [PATCH] Don't process detach and close as priority netmgr events The detach (and possibly close) netmgr events can cause additional callbacks to be called when under exclusive mode. The detach can trigger next queued TCP query to be processed and close will call configured close callback. Move the detach and close netmgr events from the priority queue to the normal queue as the detaching and closing the sockets can wait for the exclusive mode to be over. --- lib/isc/netmgr/netmgr-int.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/isc/netmgr/netmgr-int.h b/lib/isc/netmgr/netmgr-int.h index 6e233e20fb..364a933128 100644 --- a/lib/isc/netmgr/netmgr-int.h +++ b/lib/isc/netmgr/netmgr-int.h @@ -329,6 +329,9 @@ typedef enum isc__netievent_type { netievent_readcb, netievent_sendcb, + netievent_detach, + netievent_close, + netievent_task, netievent_privilegedtask, @@ -352,8 +355,6 @@ typedef enum isc__netievent_type { netievent_sockstop, /* for multilayer sockets */ netievent_resume, - netievent_detach, - netievent_close, } isc__netievent_type; typedef union {