[omniORB] 50 ms delay with threadPoolWatchConnection=1 when there
is a second remote call which blocks for a long time
Barthel Marco (MPA/DS)
Marco.Barthel at tenovis.com
Tue Aug 3 12:44:45 BST 2004
Hi all,
I encounter a 50 ms delay on remote call processing on the server side using omniorb 4.0.3/win32 with threadPoolWatchConnection=1. BiDir-Connections/Threadpoolmode are in use. I need BiDir-Connections because of a firewall.
I know that the 50 ms delay is known to happen with threadPoolWatchConnection=0 which i wanted to use first.
(http://www.omniorb-support.com/pipermail/omniorb-list/2002-November/022393.html)
When there is a second upcall in the server which blocks for a longer time the threadPoolWatchConnection-Mode does not work as I would expect because only the last thread associated with the connection does the connection-watch. In my application there is almost always one upcall blocking for a longer time. This blocking upcall is used for event-polling from server to client - if there are no events the upcall blocks for 20 seconds and blocks again immediatelly because of a new upcall from the client.
Is there any portable way to put the connection under watch immediatelly after an upcall has finished?
Are there any suggestions how to release a thread from blocking in ::select on WIN32 ??
Thanks.
-marco
More information about the omniORB-list
mailing list