Hi there,

On Thu, 2009-11-12 at 16:45 +0100, Stanislav Brabec wrote:
> > On Thu, 2009-11-12 at 14:04 +0100, Stanislav Brabec wrote:
> > > Other possibilities:
> > > - Cleanly say, that dynamic loading of modules linked with libpthread is
> > > not recommended.
> > This would definitely be the nicest solution, but I doubt that it is
> > possible.

        So - this whole issue is just horrific.

> Michael Meeks could know more about the interposing and maybe propose
> better fix for gmodule, gtk or gio.

        There is basically no good fix - well, I lie - there is a sensible
two-fold fix, but it is beyond our control: we would need the glibc
maintainers to become persuadable.

        The 'real' fix, is to recognise that:

        a) interposing (excluding LD_PRELOAD) is a horrible expensive
           feature, that more often than not causes problems (since 
           people don't understand it), and also causes horrible 
           performance problems: *except* in the only case where it is
           really deliberately used [ modulo vague linkage]: glibc - for
           libpthread.

        b) there are simple, more robust ways to indirect the 250 or so
           method calls that are thread sensitive via a single vtable
           pointer under the control of glibc - rather than scattering
           a mix of lazily resolved function pointers to different
           pre-thread, and pthread methods across umpteen plt sections.

        Of course, the tragedy that a PLT call is, in any case a vtable like
indirection currently is prolly lost in the noise here. Anyhow - end of
rant.

> I think that gmodule-2.0.pc is the best place to add needed fix, as
> loading of threaded modules is the main originator of all these
> problems.

        That's a great suggestion actually; the only problem is that basically
the entire gtk+ world needs to load modules gtk+, pango, etc. and thus -
we -all- have to link with -lpthread, and take whatever (probably
trivial) performance hit that imposes on us these days everywhere.

        HTH,

                Michael.

-- 
 michael.me...@novell.com  <><, Pseudo Engineer, itinerant idiot

_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list

Reply via email to