[ace-bugs] [ACE]: [calling purge_pending_notifications() before notify() leads to dead-lock]

Jack Wong pandawkx at 163.com
Mon Nov 28 02:12:29 CST 2016


ACE VERSION: 6.3.0
(this bug still exists in version 6.4.0)


Our test codes looks like this:


1:while (true)
2:{
3:    reactor()->purge_pending_notifications(xxx);
4:    reactor()->notify(xxx);
5:}


after a while , we found dead-lock occurs at  line 4.


-------------------------


I check the code and found that :


purge_pending_notifications can only purge message in notify queue


messages in pipe can not be purged


so calling notify() after purge_pending_notifications() can always leads one message be write to pipe


So when I keep calling like this , soon buffer of pipe will full and notify() will be blocked , then dead-lock occurs


-------------------------


we are using this two interfaces building important functions of our application


we will appreciate it if this bug being fixed soon


-------------------------


poor English, sorry!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.isis.vanderbilt.edu/pipermail/ace-bugs/attachments/20161128/cb0bf940/attachment.html>


More information about the ace-bugs mailing list