[Ace-users] [ace-users] Singlethread servant upcall (using CSD)

Jochen Rothenbacher jochen.rothenbacher at nsn.com
Thu Oct 11 03:22:34 CDT 2007


Hi, 

ext Douglas C. Schmidt wrote:
(...)
>> in the meantime we found the problem. We have to use the Wait-on-Read 
>> Wait Strategy. 

Unfortunately we can't use this option because we run into a deadlock 
situation when two processes took over the client role and try to call 
each other.

>>
>> The "borrowing"  of other threads by the ORB caused serious racing 
>> conditions. I'm really wondering why this is the default when the POA 
>> is configured with the thread policy 
>> PortableServer::SINGLE_THREAD_MODEL.
> 
> The ORB and the POA policies are at different levels of abstraction
> and should be completely orthogonal.
> 

Our basic problem is that incoming calls can overtake each other by being 
processed in different threads. The main reason for taking the client 
strategy factory "Wait-on-Read Wait" (rw) was to avoid the borrowing of 
other threads for incoming calls. 

Because we've implemented a CSD Strategy which queues these calls for 
later dispatching in an other thread it is simply the order of the 
incoming calls which leads to problems in our application.

Is it possible to achieve that the ORB didn't borrows an other thread 
without blocking?

Gruss Jochen
-- 
Jochen Rothenbacher     Nokia Siemens Networks GmbH & Co. KG
                        EMail: jochen.rothenbacher at nsn.com


More information about the Ace-users mailing list