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

Douglas C. Schmidt schmidt at dre.vanderbilt.edu
Thu Oct 11 05:11:35 CDT 2007

Hi Jochen,

   I think you'll need to check with the OCI folks about how to
achieve this using CSD since they wrote this code!



>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

Dr. Douglas C. Schmidt                       Professor and Associate Chair
Electrical Engineering and Computer Science  TEL: (615) 343-8197
Vanderbilt University                        WEB: www.dre.vanderbilt.edu/~schmidt
Nashville, TN 37203                          NET: d.schmidt at vanderbilt.edu

More information about the Ace-users mailing list