From b0e2187b6b9f0244161b15009479a2d26f6643bf Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Fri, 7 May 2021 10:53:57 +0200 Subject: [PATCH] vici: Signal waiting threads when removing a connection entry If there are threads waiting in find_entry() and one in remove_entry() and the latter is woken first by a thread calling put_entry(), the former threads would remain stuck as they get never 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 36f8dcc785..babbc6d4bc 100644 --- a/src/libcharon/plugins/vici/vici_socket.c +++ b/src/libcharon/plugins/vici/vici_socket.c @@ -244,6 +244,7 @@ static entry_t* remove_entry(private_vici_socket_t *this, u_int id) break; } this->connections->remove_at(this->connections, enumerator); + entry->cond->broadcast(entry->cond); found = entry; break; } -- 2.47.2