-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard-openlmi.rhcloud.com/r/1291/#review1793
-----------------------------------------------------------
Ship it!
src/indmanager/ind_manager.c
<
http://reviewboard-openlmi.rhcloud.com/r/1291/#comment1030>
I'd just mention, that the mutex must not be locked by the thread we want to
cancel.
Otherwise both sentences suggest that we want to have the mutex locked forever which
does not make sense.
- Michal Minar
On Nov. 26, 2013, 11:15 a.m., Jan Safranek wrote:
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard-openlmi.rhcloud.com/r/1291/
-----------------------------------------------------------
(Updated Nov. 26, 2013, 11:15 a.m.)
Review request for OpenLMI Developers.
Repository: openlmi-providers
Description
-------
indicationmgr: fixed deadlock when re-starting the namager thread.
When the indication manager thread was stopped, it destroys its mutex and
creates new one. If pthread_mutex_destroy() fails because the mutex is
locked, the new mutex is not created -> the old one is used, but it's already
locked -> deadlock.
So let's make sure the mutex is unlocked when destroying the thread.
Rewrite of indication manager thread is needed to have the manage() function
interruptible when waiting for events, e.g. using a pipe and select(),
this pthread_cancel leads to memory leaks.
Diffs
-----
src/indmanager/ind_manager.c 7d6bc7545647589178ed2a858c0d136c4806b7b0
Diff:
http://reviewboard-openlmi.rhcloud.com/r/1291/diff/
Testing
-------
Thanks,
Jan Safranek