Skip Menu |

This queue is for tickets about the POE-Component-PluginManager CPAN distribution.

Report information
The Basics
Id: 39491
Status: resolved
Priority: 0/
Queue: POE-Component-PluginManager

People
Owner: Nobody in particular
Requestors: tim.esselens [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: (no value)



Subject: load_plugin is not reentrant safe
PluginManager uses: eval { require $filename; }; to check for syntax error. But that is not reentrant safe. A possible fix might be to delete $INC{$filename}, patch attached, needs peer review.
Subject: eval_not_reent_safe.patch
--- /usr/lib/perl5/site_perl/5.8.8/POE/Component/PluginManager.pm 2008-07-19 18:32:52.000000000 +0200 +++ /tmp/PluginManager.pm 2008-09-21 21:16:33.000000000 +0200 @@ -233,6 +233,7 @@ my $spacer = " " x $spaces; my ( $name, $longname, $license, $version ); #name, longname, license, version (all strings) debug "[$alias] loading $classname...$spacer compile: "; + if ($INC{$filename}) { delete $INC{$filename} } eval { require $filename; }; if ($@) { debug "FAIL\n";
Should be fixed in the newest version (0.65). Please re-open the ticket if you find any problems with the patch.