[omniORB-dev] omni bug (patch attached)

David Riddoch david at riddoch.org.uk
Mon Nov 24 11:20:47 GMT 2003


Hi,

Serguei Kolos wrote:
> While doing object deactivation I have noticed that omni always delays 
> deactivation
> to another thread because the omniLocalIdentity::is_idle() method is 
> implemented as
> { return !pd_nInvocations;}.

Do you have reason to believe that omniORB always delays deactivation? 
(Other than your analysis of the code?).  If so, are you sure you don't 
have any requests outstanding on that object?

> I think this is wrong because later in the same file 
> (include/omniORB4/internal/localIdentity.h)
> the comment for the pd_nInvocations attribute explains that it is 
> intentionally set to 1 when
> there are no invocations in order to prevent the overhead of unnecessary 
> notifications.

But pd_nInvocations is decremented when the object is deactivated, and 
therefore will be zero at this stage (unless there are requests 
outstanding, in which case we do want to delay deactivation).

(Caveat: I haven't done anything to omniORB since v3, but that's how it 
worked when I wrote it!)

Cheers,
David




More information about the omniORB-dev mailing list