[PATCH] (DRAFT!) Fix a deadlock in CLVMD (possibly related to BZ 561226).

Petr Rockai <[email protected]>
Newsgroups dev.linux.lists.lvm-devel
Message-ID <[email protected].>
Milan Broz <[email protected]> writes:

> p.s.
> nitpicking
>
> 	DEBUGLOG("in sub thread: client = %p\n", client);
> 	+ pthread_mutex_lock(&client->bits.localsock.mutex);
>
> 	/* Don't start until the LVM thread is ready */
> 	pthread_mutex_lock(&lvm_start_mutex);
> 	pthread_mutex_unlock(&lvm_start_mutex);
> 	DEBUGLOG("Sub thread ready for work.\n");
>
>
> Can we move that localsock.muext lock after the lvm_start_mutex exercise?
> (Which I do not like either - isn't cond wait better for that?)

I would be actually wary about that -- I suspect that going the other
way around could introduce a (very slight) race condition. Not that it
would ever happen in practice, but still. On the other hand, I didn't
try too hard to think about it, so I might be wrong.

Yours,
   Petr.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.