From eec3bdb04a1e24bfcab6fa828c15e613f2952cf3 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Fri, 7 May 2021 15:32:49 +0200 Subject: [PATCH] vici: Signal waiting threads when skipping disconnected connections If two threads are waiting in find_entry() and remove_entry(), respectively, and the former is woken first, the latter remains stuck as it won't get signaled. --- src/libcharon/plugins/vici/vici_socket.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libcharon/plugins/vici/vici_socket.c b/src/libcharon/plugins/vici/vici_socket.c index babbc6d4bc..58d33587d7 100644 --- a/src/libcharon/plugins/vici/vici_socket.c +++ b/src/libcharon/plugins/vici/vici_socket.c @@ -191,6 +191,7 @@ static entry_t* find_entry(private_vici_socket_t *this, stream_t *stream, } if (entry->disconnecting) { + entry->cond->signal(entry->cond); continue; } candidate = TRUE; -- 2.47.2