diff -Nru libpoe-perl-1.3640/CHANGES libpoe-perl-1.3650/CHANGES --- libpoe-perl-1.3640/CHANGES 2014-07-12 22:25:39.000000000 +0000 +++ libpoe-perl-1.3650/CHANGES 2014-10-01 23:41:52.000000000 +0000 @@ -1,4 +1,59 @@ ================================ +2014-10-01 19:38:47 -0400 v1_365 +================================ + + commit ac32695a49330c0543eb985c7e7024f29b14ea28 + Author: Rocco Caputo + Date: Wed Oct 1 19:38:47 2014 -0400 + + Bump the version for release. + + commit 0ffe08ceb164a53003a28364b9a9e3012961ecbb + Author: Rocco Caputo + Date: Wed Oct 1 19:28:11 2014 -0400 + + Expose exceptions thrown from SIGDIE handlers. + + This change causes both the error that triggered a SIGDIE and the + error within the SIGDIE handler to be rethrown together. + + commit 786a6080bf3df744ad91d0b108ea2e4143a59e07 + Author: Rocco Caputo + Date: Wed Oct 1 19:22:25 2014 -0400 + + Add a failing test case for reporting die() from within SIGDIE. + + Grinnz provided this test case on Freenode #perl. It shows that die() + within a SIGDIE handler is not reported. Instead, the original error + is thrown without any indication why it wasn't handled as intended. + + commit 2eacf6bb69ab0843ed02a842a58de676c1cde06e + Author: Rocco Caputo + Date: Mon Sep 29 08:58:50 2014 -0400 + + SeekBack of 0 is fine on special files. + + Problem found by coworkers at Plixer International. + + commit 1092eff5dfde3ebc9db1f7e0948e332d794b38a7 + Author: Rocco Caputo + Date: Fri Sep 12 13:57:31 2014 -0400 + + Import carp() into POE::Filter::HTTPD. + + Passing a bogus parameter to POE::Filter::HTTPD->new() caused a + complaint that carp() wasn't defined, rather than the proper + complaint the carp() call was making. + + Thanks go to gbjk for passing on an anonymous report in IRC. + + commit 3155fff17f189be2674fb7870c8fc9d289392c37 + Author: Brian Fraser + Date: Sun Jul 27 03:25:47 2014 +0200 + + Workaround for systems without getprotobyn* (e.g. android) + +================================ 2014-07-12 18:24:36 -0400 v1_364 ================================ @@ -700,362 +755,6 @@ FollowTail does not trigger multiple input events when multiple lines are written to the followed file at the same time. -================================ -2013-08-20 16:36:06 -0400 v1_356 -================================ - - commit 35e779316e1de7293401c57f6e9652e66cab28c6 - Author: Rocco Caputo - Date: Tue Aug 20 16:36:06 2013 -0400 - - Another day, another release. Or at least another four hours. Bump - version. - - commit b81670f1b41aab62aeb9828407c038258a9a2518 - Author: Rocco Caputo - Date: Tue Aug 20 16:27:22 2013 -0400 - - [rt.cpan.org 1648] Tk may also tie STDIN to an object. - - Tied file handles must be untied before they can be redirected. - Otherwise, as in the case of Tk-wrapped handles, there's no OPEN() - implementation, and the redirection fails. - - commit de91fb45e6d35dae71011a7bfa45c7a9eb63b8ad - Author: Rocco Caputo - Date: Tue Aug 20 16:19:21 2013 -0400 - - Remove trailing whitespace. - - commit 5282c8e449b32d77eece3fe7857f115bb58adfc7 - Author: Rocco Caputo - Date: Tue Aug 20 16:17:47 2013 -0400 - - I think it should be _filespec_to_fh() since it returns a handle. - -================================ -2013-08-20 13:23:05 -0400 v1_355 -================================ - - commit e408a83c9a5342887954800c9ec9b109aeb8bc1d - Author: Rocco Caputo - Date: Tue Aug 20 13:23:05 2013 -0400 - - Bump version and dependencies for release. - - commit 012098ebc019e1cd1c74d23fab7b4e7112a3adec - Author: Rocco Caputo - Date: Mon Aug 19 18:39:56 2013 -0400 - - [rt.cpan.org 87931] Redo _data_ev_adjust in terms of peek_items(). - - We can't add to the POE::Queue API without breaking third-party - extensions. This takes the performance hit to avoid breaking other - CPAN modules. - - commit 810cba7763ac815b914af3967b8d33b0a84aca13 - Author: Rocco Caputo - Date: Mon Aug 19 17:32:28 2013 -0400 - - [rt.cpan.org 87928] POE::Queue::Array didn't need - POE::Resource::Clock? - - commit dea8746ea464ea343389d2bf604cc5bd9cf78a0f - Author: Rocco Caputo - Date: Mon Aug 19 03:51:46 2013 -0400 - - Skip POD::Coverage checks for POE::Pipe::OneWay and TwoWay. - - The documentation has been replaced by deprecations. POD coverage is - moot. - - commit deccbf370f3b2a2d89c5331acf1b4d84d972a61d - Author: Rocco Caputo - Date: Mon Aug 19 03:50:06 2013 -0400 - - Remove unused code from POE::Resource::Clock. - - A number of functions aren't being used. More are only being used - privately within the module. Comment out some of the unused ones - (more dead code checking is needed). Add leading underscores to the - private ones. - - commit 9c34ae0c06d339c5de81a538f05847bbf61ff5c5 - Author: Rocco Caputo - Date: Mon Aug 19 03:47:48 2013 -0400 - - Make a new POE::Queue::Array method private. - - It's currently experimental, and it currently breaks other event - queue nimplementations, so it has to go. Making it private will - temporarily reduce temptation to use it, and it helps the POD - coverage tests pass. - - commit bcf5d4451637bab12a2c20ccbc028d042323389b - Author: Joseph Huckaby - Date: Mon Aug 19 01:04:45 2013 -0400 - - [rt.cpan.org 87922] Don't crash when ClientPreConnect returns undef. - - ClientPreConnect should be allowed to return an undefined value to - abort the client connection. Instead, it caused PoCo::Server::TCP to - crash. This change catches that condition. - - commit f42a26db921db2bbbb951a1becd02800d8ceb2d2 - Author: Nicko Dehaine - Date: Mon Aug 19 00:03:29 2013 -0400 - - [rt.cpan.org 87721] Clear $! in Driver::SysRW::flush(). - - Nothing prevents the user from calling flush() when there is nothing - to flush. In these cases, $! remained unchanged, which could lead to - detection of false error conditions. This change clears $! to avoid - the problem. - - commit 4e7961d6370cef5741d4ac2f9023fb7e2dad309d - Author: Markus Müller - Date: Sun Aug 18 21:52:36 2013 -0400 - - [rt.cpan.org 87635] Fix PoCo::Client::TCP "Connected" event - w/watermarks. - - If you use watermarks, the Connected Event will not get triggert - because of a wrong return. This change corrects that. - - commit 7bce20d1366f2bb3e6014a8d4db19aa93c00e9aa - Author: Rocco Caputo - Date: Sun Aug 18 04:44:12 2013 -0400 - - Eliminate an uninitialized value warning in the tests. - - commit cb8a944db305c3d9adb1752d2d730bdec192cfd7 - Author: Rocco Caputo - Date: Sun Aug 18 03:35:25 2013 -0400 - - Add t/10_units/05_filters/51_reference_die.t to MANIFEST. - - commit b07d2ccdc10c19f087166125ca91fc8b8468d417 - Author: Rocco Caputo - Date: Sun Aug 18 02:50:22 2013 -0400 - - Replace POE::Pipe::* guts with IO::Pipely. - - This change doesn't change the way POE or its tests use POE::Pipe::*. - All tests pass in my development environment, so I expect no obvious - problems using IO::Pipely. - - commit c8974aa92080b684a2976c7574b80ca7cac00c6a - Author: Rocco Caputo - Date: Sun Aug 18 02:19:15 2013 -0400 - - Update copyright dates. - - commit 890244dd7b20a86301c024b9e994c36d993f9180 - Author: Rocco Caputo - Date: Sun Aug 18 02:08:45 2013 -0400 - - Move the signal information out of the signal pipe. - - The signal pipe included all signal information. This reduces the - number of signals that can be dispatched in a single event loop - iteration. It also limits the amount and/or type of information we - can include in the signal. - - This change puts the signal information in a plain Perl list and only - uses the signal pipe to wake up the event loop to dispatch the - signals in a safer place. - - commit c88d1d20c151909b823e279af95a1d826368cc46 - Author: Rocco Caputo - Date: Sun Aug 18 01:59:15 2013 -0400 - - Update sample programs. - - commit 78722c75e36ccd9ae8280a3202adb9840a7bedbe - Author: Rocco Caputo - Date: Sat Aug 17 17:19:24 2013 -0400 - - Add lib/POE/Resource/Clock.pm to MANIFEST. - - Help wanted: Migrate build/release process to Dist::Zilla, or advise - on same. It's complicated right now. Probably too complicated. - - commit 3fb1edba213e10ef85559eabfbbf3e9790841564 - Author: Rocco Caputo - Date: Tue Jul 16 00:55:03 2013 -0400 - - [rt.cpan.org 81550] Untaint %ENV as it's examined for TRACE/ASSERTs. - - commit 055ccf3a4eb5645272c3a076641f9ca89e5d88fa - Author: Rocco Caputo - Date: Mon Jul 15 22:39:15 2013 -0400 - - Fix a typo introduced in an earlier commit. - - commit 0f36f724df6c77d0c53d248fc74e71e7cbdf8057 - Author: Mike - Date: Sat Jul 6 15:10:38 2013 -0400 - - Add a test case for the MSWin32 stat() bug fixed a few commits ago. - - commit 6ecb93be7fc24fadf5efd1d351e69070d37a2cab - Author: Rocco Caputo - Date: Sat Jul 6 15:09:47 2013 -0400 - - Turn off debugging. - - commit bf9514fbddfc5e954b3c2f5e54724ee2da3868fe - Merge: 223a8cc 940189d - Author: Rocco Caputo - Date: Sat Jun 8 21:54:52 2013 -0400 - - Merge remote-tracking branch 'remotes/sf/master' - - commit 940189dfb8177e3685bc46fcf256bf6752024f32 - Author: Philip Gwyn - Date: Sat Jun 8 12:36:31 2013 -0400 - - Added POE::Resource::Clock - - commit 223a8cca126e70aed5f15979cb3ea9fc661909b1 - Author: Rocco Caputo - Date: Fri Jun 7 17:08:20 2013 -0400 - - Consistently stat file names or handles. - - stat() on Windows reports different device IDs for a file depending - whether it was stat()ed via name or opened handle. If used - inconsistently, stat() will always report differences. Discovered by - "pru-mike" at - blogs.perl.org/users/pru-mike/2013/06/creepy-perl-stat-functions-on-w - indows.html - - commit 0aa938883c65605c057f7d234b2f2fd01cafad74 - Author: Rocco Caputo - Date: Thu May 2 22:10:22 2013 -0400 - - Fix iThread-safety issue in POE::Component docs. - - Stringified object references aren't iThread-safe. Spawn a new - interpreter, and copies of object have different memory addresses. - Previously stringified versions are not fixed to match. Thanks to - Paul Evans for pointing it out. - - commit 219f5e1f4e526905d452d6112924224a2568e5da - Author: Rocco Caputo - Date: Sun Apr 28 16:29:27 2013 -0400 - - Note how to get ClosedEvent when killing processes in Windows. - - Rafael Kitover provided a test case where kill() would prevent - ClosedEvent from firing on Winodws. We worked out a work-around, - which he'll be using in MooseX::Workers. I've documented it here for - others. - - commit 42a5f9cae2d6cc29339d022153d44926a8ac4711 - Author: Rocco Caputo - Date: Sat Apr 20 22:50:37 2013 -0400 - - Replace Z with =for comment, per perlpod. - - commit b7eec09b0f052c210925999b09a921a165b24f0f - Author: Rocco Caputo - Date: Tue Dec 18 01:37:52 2012 -0500 - - [rt.cpan.org 77907] Apply Alexander Becker's documentation - suggestion. - - commit 032420f716604cac2914d692e3c5d3c8a7dbeefa - Author: Rocco Caputo - Date: Tue Dec 18 01:34:44 2012 -0500 - - [rt.cpan.org 77233] Apply Lukas Mai's suggested POD fix. - - commit 814486ce85ac3846267a4e3aeb85c5f62c4c0e5c - Author: Philip Gwyn - Date: Tue Dec 4 17:13:32 2012 -0500 - - Added POE::Resource::Clock which exports monotime() and walltime() - The Queue uses monotime() as a priority, but the public API uses - walltime() Fixed EV_TIME to EV_FROMSTATE EV_SEQ is set again - - commit 513999b229c682a25773be4199f93685223957ee - Author: Rocco Caputo - Date: Mon Oct 29 18:27:52 2012 -0400 - - Don't bother with IO::Tty on Cygwin. - - average_drifter on freenode #perl-cats pointed out that IO::Tty fails - to install on contemporary Cygwin. This change skips that requirement - when $^O eq 'cygwin'. - - After investigating, I found and reported two problems. These must be - resolved before undoing this work-around: - - IO::Tty compile failure: - https://rt.cpan.org/Ticket/Display.html?id=80477 - - App::cpanminus conrigure timeout is too short: - https://rt.cpan.org/Ticket/Display.html?id=80478 - - commit ec43fcdf40ff511de6cd08785298670181a6b7e6 - Author: Rocco Caputo - Date: Thu Oct 11 09:26:16 2012 -0400 - - Don't confess on the use of AF_INET6 or PF_INET6 in SocketFactory. - - SocketFactory uses those constants unconditionally during - initialization, so things that don't even need them fail. - - http://www.cpantesters.org/cpan/report/9c1ad42e-12dc-11e2-81a5-a3382b - 22a531 is a Perl 5.6.2 test failure, but as far as I can tell all the - errors are due to missing IPv6 support on that platform. - - commit d8eec5291a94ad006e4f98d43db11a7d1821627b - Author: Rocco Caputo - Date: Thu Oct 11 01:31:26 2012 -0400 - - [rt.cpan.org 79379] Document repositories and online change log - browsers. - - Greg Sabino Mullane pointed out the difficulty of finding a complete, - up to date change log. The CHANGES file distributed with POE only - goes back a year, and he needed to go farther back. - - commit 616bb1050e8f01150c6db1a02570d6dff9c0320c - Author: Philip Gwyn - Date: Thu Sep 27 15:33:33 2012 -0400 - - [rt.cpan.org 79886] Fix SIGDIE handler save/restore for Perl 5.8.8. - - Applied a modified version of the patch and test case included in the - RT ticket. - - commit cb4f65f0aefdf7ed7b22d5db8ea8f0773f47d41b - Author: Rocco Caputo - Date: Fri Aug 31 11:09:35 2012 -0400 - - Optionally export FIRST_UNUSED so subclasses know where in @$self to - start. - - commit f7f761cd596cafac6d86e3d69e74965f9747bf9b - Author: Rocco Caputo - Date: Thu Jun 28 00:17:40 2012 -0400 - - Add more signal handling diagnostics when asserting data at shutdown. - - commit f27fa471d95ac270c1a927a27438587cc92bccf8 - Author: Rocco Caputo - Date: Thu Jun 28 00:13:31 2012 -0400 - - Docment that waitpid() calls interfere with sig_child(). - - Programs that reap their own child processes AND use sig_child() to - watch for those processes MUST call sig_child($pid, undef) to clear - the watchers. sig_child() only notifies programs after some event - loop reaps the process. If an application reaps it first, POE may - never know the child went away. - ============== End of Excerpt ============== diff -Nru libpoe-perl-1.3640/debian/changelog libpoe-perl-1.3650/debian/changelog --- libpoe-perl-1.3640/debian/changelog 2014-07-19 21:38:47.000000000 +0000 +++ libpoe-perl-1.3650/debian/changelog 2014-10-14 20:36:24.000000000 +0000 @@ -1,3 +1,17 @@ +libpoe-perl (2:1.3650-1) unstable; urgency=medium + + [ Salvatore Bonaccorso ] + * Update Vcs-Browser URL to cgit web frontend + + [ gregor herrmann ] + * Add debian/upstream/metadata + * Import upstream version 1.3650. + * Bump versioned build dependency on libpoe-test-loops-perl. + * Mark package as autopkgtest-able. + * Declare compliance with Debian Policy 3.9.6. + + -- gregor herrmann Tue, 14 Oct 2014 22:35:58 +0200 + libpoe-perl (2:1.3640-1) unstable; urgency=medium * New upstream release. diff -Nru libpoe-perl-1.3640/debian/control libpoe-perl-1.3650/debian/control --- libpoe-perl-1.3640/debian/control 2014-07-19 21:38:47.000000000 +0000 +++ libpoe-perl-1.3650/debian/control 2014-10-14 20:36:24.000000000 +0000 @@ -16,17 +16,18 @@ libhttp-daemon-perl | libwww-perl (<< 6), libio-pipely-perl, libio-pty-perl, - libpoe-test-loops-perl (>= 1.358), + libpoe-test-loops-perl (>= 1.359), libsocket-getaddrinfo-perl, libsocket6-perl, libterm-readkey-perl, libterm-size-perl, libyaml-perl, netbase -Standards-Version: 3.9.5 -Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/libpoe-perl.git +Standards-Version: 3.9.6 +Vcs-Browser: https://anonscm.debian.org/cgit/pkg-perl/packages/libpoe-perl.git Vcs-Git: git://anonscm.debian.org/pkg-perl/packages/libpoe-perl.git Homepage: https://metacpan.org/release/POE +Testsuite: autopkgtest-pkg-perl Package: libpoe-perl Architecture: all diff -Nru libpoe-perl-1.3640/debian/upstream/metadata libpoe-perl-1.3650/debian/upstream/metadata --- libpoe-perl-1.3640/debian/upstream/metadata 1970-01-01 00:00:00.000000000 +0000 +++ libpoe-perl-1.3650/debian/upstream/metadata 2014-10-14 20:36:24.000000000 +0000 @@ -0,0 +1,5 @@ +--- +Archive: CPAN +Contact: Rocco Caputo +Name: POE +Repository: https://github.com/rcaputo/poe diff -Nru libpoe-perl-1.3640/lib/POE/Component/Client/TCP.pm libpoe-perl-1.3650/lib/POE/Component/Client/TCP.pm --- libpoe-perl-1.3640/lib/POE/Component/Client/TCP.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Component/Client/TCP.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Carp qw(carp croak); use Errno qw(ETIMEDOUT ECONNRESET); diff -Nru libpoe-perl-1.3640/lib/POE/Component/Server/TCP.pm libpoe-perl-1.3650/lib/POE/Component/Server/TCP.pm --- libpoe-perl-1.3640/lib/POE/Component/Server/TCP.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Component/Server/TCP.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Carp qw(carp croak); use Socket qw(INADDR_ANY inet_ntoa inet_aton AF_INET AF_UNIX PF_UNIX); diff -Nru libpoe-perl-1.3640/lib/POE/Component.pm libpoe-perl-1.3650/lib/POE/Component.pm --- libpoe-perl-1.3640/lib/POE/Component.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Component.pm 2014-10-01 23:38:32.000000000 +0000 @@ -5,7 +5,7 @@ use strict; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) 1; diff -Nru libpoe-perl-1.3640/lib/POE/Driver/SysRW.pm libpoe-perl-1.3650/lib/POE/Driver/SysRW.pm --- libpoe-perl-1.3640/lib/POE/Driver/SysRW.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Driver/SysRW.pm 2014-10-01 23:38:32.000000000 +0000 @@ -7,7 +7,7 @@ use strict; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Errno qw(EAGAIN EWOULDBLOCK); use Carp qw(croak); diff -Nru libpoe-perl-1.3640/lib/POE/Driver.pm libpoe-perl-1.3650/lib/POE/Driver.pm --- libpoe-perl-1.3640/lib/POE/Driver.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Driver.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Carp qw(croak); diff -Nru libpoe-perl-1.3640/lib/POE/Filter/Block.pm libpoe-perl-1.3650/lib/POE/Filter/Block.pm --- libpoe-perl-1.3640/lib/POE/Filter/Block.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Filter/Block.pm 2014-10-01 23:38:32.000000000 +0000 @@ -4,7 +4,7 @@ use POE::Filter; use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) @ISA = qw(POE::Filter); use Carp qw(croak); diff -Nru libpoe-perl-1.3640/lib/POE/Filter/Grep.pm libpoe-perl-1.3650/lib/POE/Filter/Grep.pm --- libpoe-perl-1.3640/lib/POE/Filter/Grep.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Filter/Grep.pm 2014-10-01 23:38:32.000000000 +0000 @@ -6,7 +6,7 @@ use POE::Filter; use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) @ISA = qw(POE::Filter); use Carp qw(croak carp); diff -Nru libpoe-perl-1.3640/lib/POE/Filter/HTTPD.pm libpoe-perl-1.3650/lib/POE/Filter/HTTPD.pm --- libpoe-perl-1.3640/lib/POE/Filter/HTTPD.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Filter/HTTPD.pm 2014-10-01 23:38:32.000000000 +0000 @@ -13,7 +13,7 @@ use POE::Filter; use vars qw($VERSION @ISA); -$VERSION = '1.364'; +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) @ISA = qw(POE::Filter); @@ -33,7 +33,7 @@ sub ST_HEADERS () { 0x01 } # waiting for complete header block sub ST_CONTENT () { 0x02 } # waiting for complete body -use Carp qw(croak); +use Carp qw(croak cluck carp); use HTTP::Status qw( status_message RC_BAD_REQUEST RC_OK RC_LENGTH_REQUIRED RC_REQUEST_ENTITY_TOO_LARGE ); use HTTP::Request (); @@ -70,7 +70,7 @@ if( $@ ) { DEBUG and warn "We don't have Email::MIME::RFC2047::Encoder"; *encode_value = sub { - Carp::cluck( + cluck( "Downgrading wide characters in HTTP header. " . "Consier installing Email::MIME::RFC2047::Encoder" ); diff -Nru libpoe-perl-1.3640/lib/POE/Filter/Line.pm libpoe-perl-1.3650/lib/POE/Filter/Line.pm --- libpoe-perl-1.3640/lib/POE/Filter/Line.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Filter/Line.pm 2014-10-01 23:38:32.000000000 +0000 @@ -4,7 +4,7 @@ use POE::Filter; use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) @ISA = qw(POE::Filter); use Carp qw(carp croak); diff -Nru libpoe-perl-1.3640/lib/POE/Filter/Map.pm libpoe-perl-1.3650/lib/POE/Filter/Map.pm --- libpoe-perl-1.3640/lib/POE/Filter/Map.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Filter/Map.pm 2014-10-01 23:38:32.000000000 +0000 @@ -6,7 +6,7 @@ use POE::Filter; use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) @ISA = qw(POE::Filter); use Carp qw(croak carp); diff -Nru libpoe-perl-1.3640/lib/POE/Filter/RecordBlock.pm libpoe-perl-1.3650/lib/POE/Filter/RecordBlock.pm --- libpoe-perl-1.3640/lib/POE/Filter/RecordBlock.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Filter/RecordBlock.pm 2014-10-01 23:38:32.000000000 +0000 @@ -6,7 +6,7 @@ use POE::Filter; use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) @ISA = qw(POE::Filter); use Carp qw(croak); diff -Nru libpoe-perl-1.3640/lib/POE/Filter/Reference.pm libpoe-perl-1.3650/lib/POE/Filter/Reference.pm --- libpoe-perl-1.3640/lib/POE/Filter/Reference.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Filter/Reference.pm 2014-10-01 23:38:32.000000000 +0000 @@ -7,7 +7,7 @@ use POE::Filter; use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) @ISA = qw(POE::Filter); use Carp qw(carp croak confess); diff -Nru libpoe-perl-1.3640/lib/POE/Filter/Stackable.pm libpoe-perl-1.3650/lib/POE/Filter/Stackable.pm --- libpoe-perl-1.3640/lib/POE/Filter/Stackable.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Filter/Stackable.pm 2014-10-01 23:38:32.000000000 +0000 @@ -12,7 +12,7 @@ use POE::Filter; use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) @ISA = qw(POE::Filter); use Carp qw(croak); diff -Nru libpoe-perl-1.3640/lib/POE/Filter/Stream.pm libpoe-perl-1.3650/lib/POE/Filter/Stream.pm --- libpoe-perl-1.3640/lib/POE/Filter/Stream.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Filter/Stream.pm 2014-10-01 23:38:32.000000000 +0000 @@ -4,7 +4,7 @@ use POE::Filter; use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) @ISA = qw(POE::Filter); #------------------------------------------------------------------------------ diff -Nru libpoe-perl-1.3640/lib/POE/Filter.pm libpoe-perl-1.3650/lib/POE/Filter.pm --- libpoe-perl-1.3640/lib/POE/Filter.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Filter.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Carp qw(croak); diff -Nru libpoe-perl-1.3640/lib/POE/Kernel.pm libpoe-perl-1.3650/lib/POE/Kernel.pm --- libpoe-perl-1.3640/lib/POE/Kernel.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Kernel.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use POE::Resource::Clock qw( monotime sleep mono2wall wall2mono walltime time ); @@ -270,6 +270,7 @@ sub ET_ALARM () { 0x0200 } # Alarm events. sub ET_SELECT () { 0x0400 } # File activity events. sub ET_SIGCLD () { 0x0800 } # sig_child() events. +sub ET_SIGDIE () { 0x1000 } # SIGDIE exception events. # A mask for all events generated by/for users. sub ET_MASK_USER () { ~(ET_GC | ET_SCPOLL) } @@ -961,7 +962,7 @@ # the signal ad nauseam. $self->_dispatch_event( $target_session, $self, - $target_event, ET_SIGNAL_RECURSIVE, [ @$etc, @$target_etc ], + $target_event, ET_SIGNAL_RECURSIVE | $type, [ @$etc, @$target_etc ], $file, $line, $fromstate, monotime(), -__LINE__ ); } @@ -981,7 +982,11 @@ my $handled_session_count = (_data_sig_handled_status())[0]; if ($signal eq "DIE" and !$handled_session_count) { - $kr_exception = $etc->[1]{error_str}; + $kr_exception = $etc->[1]{error_str} . ( + (defined $kr_exception) + ? "Additional error thrown in handler for previous error:\n$kr_exception" + : '' + ); } # Signal completely dispatched. Thanks for flying! @@ -1100,13 +1105,13 @@ # We can't enqueue them--the session is about to go away. # Also if the active session has been forced back to $self via # POE::Kernel->stop(). - if ($type & ET_STOP or $kr_active_session eq $self) { + if ($type & (ET_STOP | ET_SIGDIE) or $kr_active_session eq $self) { # Propagate the exception up to the safe rethrow point. $kr_exception = $@; } else { $self->_data_ev_enqueue( - $session, $self, EN_SIGNAL, ET_SIGNAL, [ + $session, $self, EN_SIGNAL, ET_SIGDIE, [ 'DIE' => { source_session => $source_session, dest_session => $session, diff -Nru libpoe-perl-1.3640/lib/POE/Loop/IO_Poll.pm libpoe-perl-1.3650/lib/POE/Loop/IO_Poll.pm --- libpoe-perl-1.3640/lib/POE/Loop/IO_Poll.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Loop/IO_Poll.pm 2014-10-01 23:38:32.000000000 +0000 @@ -6,7 +6,7 @@ package POE::Loop::IO_Poll; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) # Include common signal handling. use POE::Loop::PerlSignals; diff -Nru libpoe-perl-1.3640/lib/POE/Loop/PerlSignals.pm libpoe-perl-1.3650/lib/POE/Loop/PerlSignals.pm --- libpoe-perl-1.3640/lib/POE/Loop/PerlSignals.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Loop/PerlSignals.pm 2014-10-01 23:38:32.000000000 +0000 @@ -8,7 +8,7 @@ use strict; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) # Everything plugs into POE::Kernel. package POE::Kernel; diff -Nru libpoe-perl-1.3640/lib/POE/Loop/Select.pm libpoe-perl-1.3650/lib/POE/Loop/Select.pm --- libpoe-perl-1.3640/lib/POE/Loop/Select.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Loop/Select.pm 2014-10-01 23:38:32.000000000 +0000 @@ -9,7 +9,7 @@ use POE::Loop::PerlSignals; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) =for poe_tests diff -Nru libpoe-perl-1.3640/lib/POE/Loop.pm libpoe-perl-1.3650/lib/POE/Loop.pm --- libpoe-perl-1.3640/lib/POE/Loop.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Loop.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) 1; diff -Nru libpoe-perl-1.3640/lib/POE/NFA.pm libpoe-perl-1.3650/lib/POE/NFA.pm --- libpoe-perl-1.3640/lib/POE/NFA.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/NFA.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Carp qw(carp croak); diff -Nru libpoe-perl-1.3640/lib/POE/Pipe/OneWay.pm libpoe-perl-1.3650/lib/POE/Pipe/OneWay.pm --- libpoe-perl-1.3640/lib/POE/Pipe/OneWay.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Pipe/OneWay.pm 2014-10-01 23:38:32.000000000 +0000 @@ -8,7 +8,7 @@ use base qw( POE::Pipe ); use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use IO::Pipely qw(pipely); diff -Nru libpoe-perl-1.3640/lib/POE/Pipe/TwoWay.pm libpoe-perl-1.3650/lib/POE/Pipe/TwoWay.pm --- libpoe-perl-1.3640/lib/POE/Pipe/TwoWay.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Pipe/TwoWay.pm 2014-10-01 23:38:32.000000000 +0000 @@ -8,7 +8,7 @@ use base qw( POE::Pipe ); use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use IO::Pipely qw(socketpairly); diff -Nru libpoe-perl-1.3640/lib/POE/Pipe.pm libpoe-perl-1.3650/lib/POE/Pipe.pm --- libpoe-perl-1.3640/lib/POE/Pipe.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Pipe.pm 2014-10-01 23:38:32.000000000 +0000 @@ -6,7 +6,7 @@ use strict; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use IO::Pipely; diff -Nru libpoe-perl-1.3640/lib/POE/Queue/Array.pm libpoe-perl-1.3650/lib/POE/Queue/Array.pm --- libpoe-perl-1.3640/lib/POE/Queue/Array.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Queue/Array.pm 2014-10-01 23:38:32.000000000 +0000 @@ -5,7 +5,7 @@ use strict; use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) @ISA = qw(POE::Queue); use Errno qw(ESRCH EPERM); diff -Nru libpoe-perl-1.3640/lib/POE/Queue.pm libpoe-perl-1.3650/lib/POE/Queue.pm --- libpoe-perl-1.3640/lib/POE/Queue.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Queue.pm 2014-10-01 23:38:32.000000000 +0000 @@ -1,7 +1,7 @@ package POE::Queue; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Carp qw(croak); diff -Nru libpoe-perl-1.3640/lib/POE/Resource/Aliases.pm libpoe-perl-1.3650/lib/POE/Resource/Aliases.pm --- libpoe-perl-1.3640/lib/POE/Resource/Aliases.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Resource/Aliases.pm 2014-10-01 23:38:32.000000000 +0000 @@ -4,7 +4,7 @@ package POE::Resource::Aliases; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) # These methods are folded into POE::Kernel; package POE::Kernel; diff -Nru libpoe-perl-1.3640/lib/POE/Resource/Clock.pm libpoe-perl-1.3650/lib/POE/Resource/Clock.pm --- libpoe-perl-1.3640/lib/POE/Resource/Clock.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Resource/Clock.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ package POE::Resource::Clock; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use strict; diff -Nru libpoe-perl-1.3640/lib/POE/Resource/Events.pm libpoe-perl-1.3650/lib/POE/Resource/Events.pm --- libpoe-perl-1.3640/lib/POE/Resource/Events.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Resource/Events.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ package POE::Resource::Events; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) # These methods are folded into POE::Kernel; package POE::Kernel; @@ -378,7 +378,7 @@ # TODO - Reversing them could avoid entering and removing GC marks. $self->_data_ev_refcount_dec($event->[EV_SOURCE], $event->[EV_SESSION]); - if ($event->[EV_TYPE] & ET_SIGNAL) { + if ($event->[EV_TYPE] & (ET_SIGNAL | ET_SIGDIE)) { $self->_dispatch_signal_event(@{$event}[EV_SESSION..EV_FROMSTATE], $priority, $id); } else { diff -Nru libpoe-perl-1.3640/lib/POE/Resource/Extrefs.pm libpoe-perl-1.3650/lib/POE/Resource/Extrefs.pm --- libpoe-perl-1.3640/lib/POE/Resource/Extrefs.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Resource/Extrefs.pm 2014-10-01 23:38:32.000000000 +0000 @@ -5,7 +5,7 @@ package POE::Resource::Extrefs; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) # These methods are folded into POE::Kernel; package POE::Kernel; diff -Nru libpoe-perl-1.3640/lib/POE/Resource/FileHandles.pm libpoe-perl-1.3650/lib/POE/Resource/FileHandles.pm --- libpoe-perl-1.3640/lib/POE/Resource/FileHandles.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Resource/FileHandles.pm 2014-10-01 23:38:32.000000000 +0000 @@ -4,7 +4,7 @@ package POE::Resource::FileHandles; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) # These methods are folded into POE::Kernel; package POE::Kernel; diff -Nru libpoe-perl-1.3640/lib/POE/Resource/Sessions.pm libpoe-perl-1.3650/lib/POE/Resource/Sessions.pm --- libpoe-perl-1.3640/lib/POE/Resource/Sessions.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Resource/Sessions.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ package POE::Resource::Sessions; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) # These methods are folded into POE::Kernel; package POE::Kernel; diff -Nru libpoe-perl-1.3640/lib/POE/Resource/SIDs.pm libpoe-perl-1.3650/lib/POE/Resource/SIDs.pm --- libpoe-perl-1.3640/lib/POE/Resource/SIDs.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Resource/SIDs.pm 2014-10-01 23:38:32.000000000 +0000 @@ -4,7 +4,7 @@ package POE::Resource::SIDs; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) # These methods are folded into POE::Kernel; package POE::Kernel; diff -Nru libpoe-perl-1.3640/lib/POE/Resource/Signals.pm libpoe-perl-1.3650/lib/POE/Resource/Signals.pm --- libpoe-perl-1.3640/lib/POE/Resource/Signals.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Resource/Signals.pm 2014-10-01 23:38:32.000000000 +0000 @@ -4,7 +4,7 @@ package POE::Resource::Signals; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) # These methods are folded into POE::Kernel; package POE::Kernel; diff -Nru libpoe-perl-1.3640/lib/POE/Resource.pm libpoe-perl-1.3650/lib/POE/Resource.pm --- libpoe-perl-1.3640/lib/POE/Resource.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Resource.pm 2014-10-01 23:38:32.000000000 +0000 @@ -1,7 +1,7 @@ package POE::Resource; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) 1; diff -Nru libpoe-perl-1.3640/lib/POE/Resources.pm libpoe-perl-1.3650/lib/POE/Resources.pm --- libpoe-perl-1.3640/lib/POE/Resources.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Resources.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) my @resources = qw( POE::XS::Resource::Aliases diff -Nru libpoe-perl-1.3640/lib/POE/Session.pm libpoe-perl-1.3650/lib/POE/Session.pm --- libpoe-perl-1.3640/lib/POE/Session.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Session.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Carp qw(carp croak); use Errno; diff -Nru libpoe-perl-1.3640/lib/POE/Wheel/Curses.pm libpoe-perl-1.3650/lib/POE/Wheel/Curses.pm --- libpoe-perl-1.3640/lib/POE/Wheel/Curses.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Wheel/Curses.pm 2014-10-01 23:38:32.000000000 +0000 @@ -5,7 +5,7 @@ use strict; use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Carp qw(croak); use Curses qw( diff -Nru libpoe-perl-1.3640/lib/POE/Wheel/FollowTail.pm libpoe-perl-1.3650/lib/POE/Wheel/FollowTail.pm --- libpoe-perl-1.3640/lib/POE/Wheel/FollowTail.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Wheel/FollowTail.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Carp qw( croak carp ); use Symbol qw( gensym ); @@ -190,10 +190,11 @@ croak "FollowTail does not tail directories"; } - # Handle is not a plain file. Can't honor SeekBack. + # Handle is not a plain file. + # Can only honor SeekBack if it's zero. carp "POE::Wheel::FollowTail can't SeekBack special files" - if defined $params{SeekBack}; + if $params{SeekBack}; # The handle isn't legal to multiplex on this platform. if (POE::Kernel::RUNNING_IN_HELL and not -S $handle) { diff -Nru libpoe-perl-1.3640/lib/POE/Wheel/ListenAccept.pm libpoe-perl-1.3650/lib/POE/Wheel/ListenAccept.pm --- libpoe-perl-1.3640/lib/POE/Wheel/ListenAccept.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Wheel/ListenAccept.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Carp qw( croak carp ); use Symbol qw( gensym ); diff -Nru libpoe-perl-1.3640/lib/POE/Wheel/ReadLine.pm libpoe-perl-1.3650/lib/POE/Wheel/ReadLine.pm --- libpoe-perl-1.3640/lib/POE/Wheel/ReadLine.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Wheel/ReadLine.pm 2014-10-01 23:38:32.000000000 +0000 @@ -5,7 +5,7 @@ BEGIN { eval { require bytes } and bytes->import; } use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Carp qw( croak carp ); use Symbol qw(gensym); diff -Nru libpoe-perl-1.3640/lib/POE/Wheel/ReadWrite.pm libpoe-perl-1.3650/lib/POE/Wheel/ReadWrite.pm --- libpoe-perl-1.3640/lib/POE/Wheel/ReadWrite.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Wheel/ReadWrite.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Carp qw( croak carp ); use POE qw(Wheel Driver::SysRW Filter::Line); diff -Nru libpoe-perl-1.3640/lib/POE/Wheel/Run.pm libpoe-perl-1.3650/lib/POE/Wheel/Run.pm --- libpoe-perl-1.3640/lib/POE/Wheel/Run.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Wheel/Run.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Carp qw(carp croak); use POSIX qw( diff -Nru libpoe-perl-1.3640/lib/POE/Wheel/SocketFactory.pm libpoe-perl-1.3650/lib/POE/Wheel/SocketFactory.pm --- libpoe-perl-1.3640/lib/POE/Wheel/SocketFactory.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Wheel/SocketFactory.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION @ISA); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Carp qw( carp croak ); use Symbol qw( gensym ); @@ -537,8 +537,14 @@ : 'tcp' ); + # Dance for systems without getprotobyname + my %proto_by_name = ( + tcp => Socket::IPPROTO_TCP, + udp => Socket::IPPROTO_UDP, + ); + my %proto_by_number = reverse %proto_by_name; if ($socket_protocol !~ /^\d+$/) { - unless ($socket_protocol = getprotobyname($socket_protocol)) { + unless ($socket_protocol = $proto_by_name{$socket_protocol} || eval { getprotobyname($socket_protocol) }) { $poe_kernel->yield( $event_failure, 'getprotobyname', $!+0, $!, $self->[MY_UNIQUE_ID] ); @@ -549,7 +555,7 @@ # Get the protocol's name regardless of what was provided. If the # protocol isn't supported, croak now instead of making the # programmer wonder why things fail later. - $protocol_name = lc(getprotobynumber($socket_protocol)); + $protocol_name = $proto_by_number{$socket_protocol} || eval { lc(getprotobynumber($socket_protocol)) }; unless ($protocol_name) { $poe_kernel->yield( $event_failure, 'getprotobynumber', $!+0, $!, $self->[MY_UNIQUE_ID] @@ -598,7 +604,7 @@ # Turn on socket overlapped IO attribute per MSKB: Q181611. eval { - socket(POE, AF_INET, SOCK_STREAM, getprotobyname("tcp")) + socket(POE, AF_INET, SOCK_STREAM, Socket::IPPROTO_TCP) or die "socket failed: $!"; my $opt = unpack("I", getsockopt(POE, SOL_SOCKET, SO_OPENTYPE())); $win32_socket_opt = $opt; @@ -630,7 +636,7 @@ # the socket we created... and not all subsequent sockets. if ( POE::Kernel::RUNNING_IN_HELL) { eval { - socket(POE, AF_INET, SOCK_STREAM, getprotobyname("tcp")) + socket(POE, AF_INET, SOCK_STREAM, Socket::IPPROTO_TCP) or die "socket failed: $!"; setsockopt(POE, SOL_SOCKET, SO_OPENTYPE(), $win32_socket_opt); close POE; diff -Nru libpoe-perl-1.3640/lib/POE/Wheel.pm libpoe-perl-1.3650/lib/POE/Wheel.pm --- libpoe-perl-1.3640/lib/POE/Wheel.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE/Wheel.pm 2014-10-01 23:38:32.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use Carp qw(croak); diff -Nru libpoe-perl-1.3640/lib/POE.pm libpoe-perl-1.3650/lib/POE.pm --- libpoe-perl-1.3640/lib/POE.pm 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/lib/POE.pm 2014-10-01 23:38:32.000000000 +0000 @@ -6,7 +6,7 @@ use Carp qw( croak ); use vars qw($VERSION); -$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places) +$VERSION = '1.365'; # NOTE - Should be #.### (three decimal places) use POE::Resource::Clock qw( monotime time walltime sleep mono2wall wall2mono ); diff -Nru libpoe-perl-1.3640/MANIFEST libpoe-perl-1.3650/MANIFEST --- libpoe-perl-1.3640/MANIFEST 2014-07-12 22:25:34.000000000 +0000 +++ libpoe-perl-1.3650/MANIFEST 2014-10-01 23:41:45.000000000 +0000 @@ -144,6 +144,7 @@ t/90_regression/broeren-win32-nbio.t t/90_regression/cfedde-filter-httpd.t t/90_regression/ferrari-server-unix.t +t/90_regression/grinnz-die-in-die.t t/90_regression/hinrik-wheel-run-die.t t/90_regression/kjeldahl-stop-start-polling.t t/90_regression/kjeldahl-stop-start-sig-nopipe.t diff -Nru libpoe-perl-1.3640/META.json libpoe-perl-1.3650/META.json --- libpoe-perl-1.3640/META.json 2014-07-12 22:25:33.000000000 +0000 +++ libpoe-perl-1.3650/META.json 2014-10-01 23:41:45.000000000 +0000 @@ -23,12 +23,12 @@ "prereqs" : { "build" : { "requires" : { - "POE::Test::Loops" : "1.358" + "POE::Test::Loops" : "1.359" } }, "configure" : { "requires" : { - "POE::Test::Loops" : "1.358" + "POE::Test::Loops" : "1.359" } }, "runtime" : { @@ -41,7 +41,7 @@ "IO::Handle" : "1.27", "IO::Pipely" : "0.005", "IO::Tty" : "1.08", - "POE::Test::Loops" : "1.358", + "POE::Test::Loops" : "1.359", "POSIX" : "1.02", "Socket" : "1.7", "Storable" : "2.16", @@ -60,5 +60,5 @@ "url" : "https://github.com/rcaputo/poe" } }, - "version" : "1.364" + "version" : "1.365" } diff -Nru libpoe-perl-1.3640/META.yml libpoe-perl-1.3650/META.yml --- libpoe-perl-1.3640/META.yml 2014-07-12 22:25:33.000000000 +0000 +++ libpoe-perl-1.3650/META.yml 2014-10-01 23:41:44.000000000 +0000 @@ -3,9 +3,9 @@ author: - 'Rocco Caputo ' build_requires: - POE::Test::Loops: '1.358' + POE::Test::Loops: '1.359' configure_requires: - POE::Test::Loops: '1.358' + POE::Test::Loops: '1.359' dynamic_config: 1 generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.141520' license: perl @@ -27,7 +27,7 @@ IO::Handle: '1.27' IO::Pipely: '0.005' IO::Tty: '1.08' - POE::Test::Loops: '1.358' + POE::Test::Loops: '1.359' POSIX: '1.02' Socket: '1.7' Storable: '2.16' @@ -37,4 +37,4 @@ homepage: http://poe.perl.org/ license: http://dev.perl.org/licenses/ repository: https://github.com/rcaputo/poe -version: '1.364' +version: '1.365' diff -Nru libpoe-perl-1.3640/mylib/PoeBuildInfo.pm libpoe-perl-1.3650/mylib/PoeBuildInfo.pm --- libpoe-perl-1.3640/mylib/PoeBuildInfo.pm 2014-07-12 22:24:17.000000000 +0000 +++ libpoe-perl-1.3650/mylib/PoeBuildInfo.pm 2014-10-01 23:29:54.000000000 +0000 @@ -25,7 +25,7 @@ sub CONFIG_REQUIREMENTS () { ( - "POE::Test::Loops" => '1.358', + "POE::Test::Loops" => '1.359', ); } diff -Nru libpoe-perl-1.3640/README libpoe-perl-1.3650/README --- libpoe-perl-1.3640/README 2014-07-12 22:24:26.000000000 +0000 +++ libpoe-perl-1.3650/README 2014-10-01 23:38:32.000000000 +0000 @@ -1,4 +1,4 @@ -Version 1.364 +Version 1.365 -------------------- Detailed Information diff -Nru libpoe-perl-1.3640/t/90_regression/grinnz-die-in-die.t libpoe-perl-1.3650/t/90_regression/grinnz-die-in-die.t --- libpoe-perl-1.3640/t/90_regression/grinnz-die-in-die.t 1970-01-01 00:00:00.000000000 +0000 +++ libpoe-perl-1.3650/t/90_regression/grinnz-die-in-die.t 2014-10-01 23:19:29.000000000 +0000 @@ -0,0 +1,44 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use Test::More tests => 3; +use POE; + +POE::Session->create( + inline_states => { + _start => sub { + $_[KERNEL]->sig(DIE => 'sig_DIE'); + die 'original error'; + }, + sig_DIE => sub { + my $exception = $_[ARG1]; + my $event = $exception->{'event'}; + my $error = $exception->{'error_str'}; + + chomp $error; + + is($event, '_start', "die in $event caught"); + + die 'error in error handler'; + + # The die() above bypasses this call. + POE::Kernel->sig_handled(); + }, + } +); + +eval { + POE::Kernel->run(); +}; + +like( + $@, qr/original error/, + "run() rethrown exception contains original error" +); + +like( + $@, qr/error in error handler/, + "run() rethrown exception contains error in error handler" +);