[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#3671) disconnecting a syncrepl consumer deadlocks the provider



On Thursday 28 April 2005 15:27, hyc@symas.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.

-- 
Ralf