[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