<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Thank you for the problem info and research into it.
<div class=""><br class="">
</div>
<div class="">The easiest way to resolve this is to let the reactor event loop run and read things from the notify pipe.</div>
<div class=""><br class="">
</div>
<div class="">-Steve</div>
<div class=""><br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Nov 28, 2016, at 3:12 AM, Jack Wong <<a href="mailto:pandawkx@163.com" class="">pandawkx@163.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="line-height: 1.7; font-size: 14px; font-family: Arial;" class="">
<div class=""><span style="font-family: arial; white-space: pre-wrap; widows: 1;" class="">ACE VERSION: 6.3.0</span></div>
<div class="">(this bug still exists in version 6.4.0)</div>
<div class=""><br class="">
</div>
<div class="">Our test codes looks like this:</div>
<div class=""><br class="">
</div>
<div class="">1:while (true)</div>
<div class="">2:{</div>
<div class="">3:    reactor()->purge_pending_notifications(xxx);</div>
<div class="">4:    reactor()->notify(xxx);</div>
<div class="">5:}</div>
<div class=""><br class="">
</div>
<div class="">after a while , we found dead-lock occurs at  line 4.</div>
<div class=""><br class="">
</div>
<div class="">-------------------------</div>
<div class=""><br class="">
</div>
<div class="">I check the code and found that :</div>
<div class=""><br class="">
</div>
<div class="">purge_pending_notifications can only purge message in notify queue</div>
<div class=""><br class="">
</div>
<div class="">messages in pipe can not be purged</div>
<div class=""><br class="">
</div>
<div class="">so calling notify() after purge_pending_notifications() can always leads one message be write to pipe</div>
<div class=""><br class="">
</div>
<div class="">So when I keep calling like this , soon buffer of pipe will full and notify() will be blocked , then dead-lock occurs</div>
<div class=""><br class="">
</div>
<div class="">-------------------------</div>
<div class=""><br class="">
</div>
<div class="">we are using this two interfaces building important functions of our application</div>
<div class=""><br class="">
</div>
<div class="">we will appreciate it if this bug being fixed soon</div>
<div class=""><br class="">
</div>
<div class="">-------------------------</div>
<div class=""><br class="">
</div>
<div class="">poor English, sorry!</div>
</div>
<br class="">
<br class="">
<span title="neteasefooter" class="">
<div class=""> <br class="webkit-block-placeholder">
</div>
</span>_______________________________________________<br class="">
ace-bugs mailing list<br class="">
<a href="mailto:ace-bugs@list.isis.vanderbilt.edu" class="">ace-bugs@list.isis.vanderbilt.edu</a><br class="">
http://list.isis.vanderbilt.edu/cgi-bin/mailman/listinfo/ace-bugs</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>