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.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user