[omniORB] OmniEvent Thread question

Alex Tingle alex.tingle at bronermetals.com
Wed Jan 26 10:35:13 GMT 2005


Hi Thierry,

Each EventChannel has at least one thread. A second thread (the 
ProxyPushSupplierManager) is started if you call 
ConsumerAdmin::obtain_push_supplier(). The only way to stop these 
threads is to destroy the EventChannel.

You say that you've 'disconnected' all of the channels. I assume that 
you've disconnected all of the proxies. If you've really finished with 
an EventChannel then you should call EventChannel::destroy(). If you 
destroy() the channel, then there is no need to disconnect each proxy - 
it is all done for you.

EventChannel::destroy() does the following:

  o disconnect all currently active proxies.
    (Your Suppliers & Consumers will get the disconnect
     callback if they registered for it.)

  o terminate the channel's (one or two) threads.

  o deactivate the EventChannel, ConsumerAdmin, SupplierAdmin &
    Proxy objects.

  o free the channel's memory.

Hope that helps.

-Alex Tingle

--
Dammit Jim, I'm a programmer... not a mind reader!

On 25 Jan 2005, at 17:40, Le Flour Thierry wrote:

> Hi All,
> i am currently using the OmniEvent(last version) on  LINUX box.
> I have a piece of code which create a set of "Event Channel" supplier 
> (in push mode).
> When i quit this application , i disconnect all the created channels. 
> But, in the process list of my machine ,
> i still have the set of thread(below) corresponding to the channel 
> creation:
>
>   leflour  22938 22853  0 18:25 pts/12   00:00:00 omniEvents -s 1111
>   leflour  22939 22853  0 18:25 pts/12   00:00:00 omniEvents -s 1111
>   leflour  22940 22853  0 18:25 pts/12   00:00:00 omniEvents -s 1111
>   leflour  22941 22853  0 18:25 pts/12   00:00:00 omniEvents -s 1111
>   leflour  22942 22853  0 18:25 pts/12   00:00:00 omniEvents -s 1111
>   leflour  22943 22853  0 18:25 pts/12   00:00:00 omniEvents -s 1111
>   leflour  22944 22853  0 18:25 pts/12   00:00:00 omniEvents -s 1111
>   leflour  22945 22853  0 18:25 pts/12   00:00:00 omniEvents -s 1111
>   leflour  22946 22853  0 18:25 pts/12   00:00:00 omniEvents -s 1111
>   leflour  22947 22853  0 18:25 pts/12   00:00:00 omniEvents -s 1111
>   leflour  22948 22853  0 18:25 pts/12   00:00:00 omniEvents -s 1111
>   leflour  22949 22853  0 18:25 pts/12   00:00:00 omniEvents -s 1111
>   leflour  22950 22853  0 18:25 pts/12   00:00:00 omniEvents -s 1111
>   leflour  22951 22853  0 18:25 pts/12   00:00:00 omniEvents -s 1111
>   leflour  22952 22853  0 18:25 pts/12   00:00:00 omniEvents -s 1111*
>
> I don't clearly undestrand why this thread are still there even if 
> they are in a "Sleep Mode" ?
> Any Idea ? Many thanks in advance,
>     Cheers.
>        Thierry Le Flou
>
>>
>
>
> -- 
> ---------------------------------------------------
> Le Flour Thierry
> Service Informatique
> L.A.P.P. - BP 110, Chemin de Bellevue
> 74941 Annecy le Vieux cedex
>
> Tel : 04.50.09.16.67 - Fax : 04.50.27.94.95
>      04.50.09.16.00
> email: leflour at lapp.in2p3.fr
> ---------------------------------------------------
>
>
> _______________________________________________
> omniORB-list mailing list
> omniORB-list at omniorb-support.com
> http://www.omniorb-support.com/mailman/listinfo/omniorb-list




More information about the omniORB-list mailing list