[Date Prev][Date Next]
Re: (ITS#3671) disconnecting a syncrepl consumer deadlocks the provider
On Thursday 28 April 2005 15:27, email@example.com wrote:
> >Well I have to correct myself a bit it doesn't really crash, but
> > runs into an assertion:
> >lt-slapd: connection.c:634: connection_destroy: Assertion
> >`c->c_writewaiter == 0' failed.
> This is puzzling, since connection_closing() signals the writer
> condition, but your stack trace shows that the writer is still in the
> condition wait. I don't have any good ideas here at the moment.
Might that be because that the thread that executes connection_closing()
doesn't release the c_mutex after signaling the condition (c_write_cv)?
If I understand the pthread_cond_* docs correctly the writer is then
waiting to get the c_mutex, but never gets it.