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;
|
break;
|
||||||
}
|
}
|
||||||
this->connections->remove_at(this->connections, enumerator);
|
this->connections->remove_at(this->connections, enumerator);
|
||||||
|
entry->cond->broadcast(entry->cond);
|
||||||
found = entry;
|
found = entry;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user