Re: ActivationContext and shlib servers



Dietmar Maurer <dietmar ximian com> writes:

> Why does oaf always activate a new server if the code is
> in a shared library (even if I register my object with
> oaf_active_server_register() )
> 
> Maybe the error is in ac_do_activation(), which does not check
> if the server is already active (for server_type == "shlib").
> 

The technical reason is that an shlib server is only active for a
given process. Thus, it really makes no sense to register it with oafd
as things stand, since registration is a global thing, not a
per-process thing.

Fixing this is possible but would require tricky hackery in both oafd
and liboaf (you'd need to be able to register the shlib server per
process, and liboaf would have to query oafd for shlibs servers
registered for - or else oaf_active_server_register would have to
register shlib servers in a table inside the process instead of
talking to oafd).

I actually suspect the current behavior may be intentional (shlib
servers are sort of implicitly factories), but only Elliot knows for
sure. It appears to be the same as the goad behavior from what I can
tell.

Can you please explain to me why you need this behavior, and if you
are still convinced the current behavior is wrong, file a bug report
at bugzilla.eazel.com, so we can prioritize and track the issue?

Regards,

Maciej





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]