<div dir="ltr"><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">Hi,</pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap"><br></pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap"> TAO VERSION: 2.3.0
 ACE VERSION: 6.3.0

 HOST MACHINE and OPERATING SYSTEM:
        (event supplier) Pentium Dual-Core 3.2GHz, Ubuntu Linux with kernel v3.19.0</pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap"><div><pre style="word-wrap:break-word;white-space:pre-wrap">        (event service) Intel i5-4590 3.3GHz, four-core machine, Ubuntu Linux with kernel v4.2.0
</pre></div><div><pre style="word-wrap:break-word;white-space:pre-wrap">        (event consumer) Pentium Dual-Core 3.2GHz, Ubuntu Linux with kernel v3.13.0
</pre></div><div><span style="font-family:arial,sans-serif"> </span><font face="monospace, monospace">COMPILER NAME AND VERSION (AND PATCHLEVEL):<br></font></div><div><font face="monospace, monospace">      g++ (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5</font></div></pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">    THE $ACE_ROOT/ace/config.h FILE [if you use a link to a platform-
    specific file, simply state which one]:</pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">       #include "ace/config-linux.h"

    THE $ACE_ROOT/include/makeinclude/<wbr>platform_macros.GNU FILE [if you
    use a link to a platform-specific file, simply state which one
    (unless this isn't used in this case, e.g., with Microsoft Visual
    C++)]:
       CPPFLAGS += -std=c++11</pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">       include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU</pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">       INSTALL+PREFIX = /home/ACE</pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">    CONTENTS OF $ACE_ROOT/bin/<wbr>MakeProjectCreator/config/<wbr>default.features
    (used by MPC when you generate your own makefiles):</pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">        I don't have such a file.

    AREA/CLASS/EXAMPLE AFFECTED:
[What example failed?  What module failed to compile?]
        compilation succeed, after make realclean</pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">    DOES THE PROBLEM AFFECT:
        COMPILATION? no
        LINKING? no
        EXECUTION? yes
[Please indicate whether ACE/TAO, your application, or both are affected.]
    The TAO event service is affected.</pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">    SYNOPSIS:
[Brief description of the problem]</pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">     With mt dispatching strategy the event service may hang, while with reactive dispatching strategy it works.

    DESCRIPTION:
[Detailed description of problem.  Don't just say "<blah>
doesn't work, here's a fix," explain what your program does
to get to the <blah> state. ]
    I was running the TAO event service with one supplier (on host 1), one event service (on host 2, along with the naming service), and one consumer (on host 3). The supplier runs an infinite loop pushing the same event type (RtecEventComm::EventSet). With the following ec.conf it works, and the consumer can receive events:</pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">static EC_Factory "-ECDispatching reactive -ECFiltering null -ECSupplierFiltering null -ECProxyConsumerLock null -ECProxySupplierLock null -ECConsumerControl reactive -ECSupplierControl reactive -ECConsumerControlPeriod 0 -ECSupplierControlPeriod 0"</pre><pre style="word-wrap:break-word"><font color="#000000"><span style="white-space:pre-wrap">But wit the following ec.conf sometimes the event service hangs after a few seconds of running</span></font><font color="#000000" face="arial, sans-serif"><span style="white-space:pre-wrap"> and it stopped processing events:</span></font></pre><pre style="word-wrap:break-word"><font color="#000000" face="arial, sans-serif"><span style="white-space:pre-wrap">static EC_Factory "-ECDispatching mt -ECDispatchingThreads 3 -ECFiltering null -ECSupplierFiltering null -ECProxyConsumerLock thread -ECProxySupplierLock thread -ECConsumerControl reactive -ECSupplierControl reactive -ECConsumerControlPeriod 0 -ECSupplierControlPeriod 0 -ECProxyPushSupplierCollection mt:list:immediate -ECProxyPushConsumerCollection mt:list:immediate"</span></font></pre><pre style="word-wrap:break-word"><font color="#000000" face="arial, sans-serif"><span style="white-space:pre-wrap">the result of the utility top showed CPU utilization returning to 0% (was around 50% on each core); the result of the utility iftop showed inbound network traffic returning to around 3kb (was around 280Mb). The event service did not crash, however.</span></font></pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">I would like to use the mt dispatching strategy, and I would like to how to make it work.</pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap"><br></pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">Thank you,</pre><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">Chao</pre></div>