> From: Roderich Schupp 
> On Thu, Feb 16, 2012 at 09:18, Konovalov, Vadim wrote:
> > I am not fully agree here.
> >
> > PAR is well recognized technique, and if you have a fix to 
> CPAN module
> > that allows PAR usage to the said module, the chances to 
> get the module
> > updated are high.
> 
> As the current PAR maintainer I beg to differ: PAR is a gross hack.

I see the way to resolve who is correct here  - try it.

Come with a working patch to the CPAN module author and see what
happens next.

I can put my efforts to verbally convince them to apply your patch, given 
that your patch improves PAR situation.


> >> This dual DLL loading - due to some Perl module 
> misinterprets whether
> > XXX.dll already loaded - should be fixed.
> 
> "Perl" doesn't misinterpret anything here.

why do you think so?

Rather, what do you mean by ""Perl" doesn't misinterpret anything here"?

It could be that some module XXX has logic:

 if (something_was_already_loaded()) {
   # skip this and that
...
 }



> Do you understand how DynaLoader and DLL loading on the OS 
> level works?

I dealt with DynaLoader several times

I happen update Dynaloader somehow in long past to fix something that
I can not remember right now, yet I proposed some patches to p5p, 
which are applied to perl core, but some of them are far from perfect,
unfortunately.

yet, I have my own stripped+modified version of dynaloader in my dark
corner to bootstrap my own Perl+tcl/tk+win32 technique, alternate to PAR.

> 
> > IOW - how exactly it computed that "Cairo.dll" is already loaded?
> 
> I don't know - it's an educated guess. I'm not too familiar 
> with the internals
> how Windows loads DLLs

I have another educated guess: DynaLoader.pm tracks loaded DLLs in
@dl_shared_objects file:

        push(@dl_shared_objects, $file); # record files loaded

See if Pango / Gtk2 munges with it.

Vadim.

Reply via email to