[poe-commits] poe/POE Kernel.pm,1.271,1.272
Brought to you by:
rcaputo
From: <rc...@us...> - 2003-12-20 19:40:05
|
Update of /cvsroot/poe/poe/POE In directory sc8-pr-cvs1:/tmp/cvs-serv10340/POE Modified Files: Kernel.pm Log Message: While discussing libevent, I realized that a POE::XS::Loop::Libevent would not have a trigger module. There would be no IO::Poll-like module that causes POE::Kernel to autoload it. So this patch tweaks the loop autoloader to honor explicitly loaded event loops and not try to load the default select loop. Index: Kernel.pm =================================================================== RCS file: /cvsroot/poe/poe/POE/Kernel.pm,v retrieving revision 1.271 retrieving revision 1.272 diff -C2 -d -r1.271 -r1.272 *** Kernel.pm 16 Dec 2003 04:58:46 -0000 1.271 --- Kernel.pm 20 Dec 2003 19:40:02 -0000 1.272 *************** *** 330,338 **** my $used_first; ! my $base_path = __FILE__; ! substr($base_path, -9) = "Loop"; foreach my $file (keys %INC) { - my $pared_file = $file; # Remove IO/ so we can load POE::Loop::Poll instead of # POE::Loop::IO/Poll. --- 330,344 ---- my $used_first; ! # First see if someone has loaded a POE::Loop or XS version ! # explicitly. Make a note of it if they already have. The next ! # loop through %INC will just verify that two loops aren't active at ! # once. ! foreach my $file (keys %INC) { ! if ($file =~ /^POE\/(?:XS\/)?Loop\/(.+)\.pm$/) { ! $used_first = $1; ! } ! } foreach my $file (keys %INC) { # Remove IO/ so we can load POE::Loop::Poll instead of # POE::Loop::IO/Poll. *************** *** 341,344 **** --- 347,351 ---- # separators with hyphens and rename Loop/Poll.pm to # Loop/IO-Poll.pm. Foresight > Hindsight. + my $pared_file = $file; $pared_file =~ s/^IO\///; next if $pared_file =~ /\//; *************** *** 364,368 **** die if $@ and $@ !~ /not really dying/; ! if (defined $used_first) { die( "*\n", --- 371,375 ---- die if $@ and $@ !~ /not really dying/; ! if (defined $used_first and $used_first ne $module) { die( "*\n", |