Bug 969

Summary: Sharing implementation objects across single threaded POAs
Product: TAO Reporter: Irfan Pyarali <irfan>
Component: POAAssignee: Irfan Pyarali <irfan>
Status: ASSIGNED ---    
Severity: normal    
Priority: P3    
Version: 1.1.9   
Hardware: All   
OS: All   

Description Irfan Pyarali 2001-07-09 11:53:43 CDT
Initially, the single threaded lock was part of the servant object
which made it easy to serialize calls to the servant even if it was
registered among multiple single threaded POAs.  However, the problem
was that all the servants also needed to be serialized in a single
threaded POA.  Therefore, the single threaded lock was moved from the
servant to the POA.

In addition, the spec also says:

"POAs using the SINGLE_THREAD_MODEL may need to cooperate to ensure
that calls are safe even when implementation code (such as a servant
manager) is shared by multiple single-threaded POAs."

It seems that to achieve serialization for all servants in the POA and
shared servants across single threaded POAs, there would be to have
two set of locks: (a) on the POA to serialize all the servants; (b) on
the implementation object (servant, managers, activators) to serialize
objects shared among different POAs.
Comment 1 Irfan Pyarali 2001-07-09 11:54:21 CDT
Accepted.