Hello community,

here is the log from the commit of package perl-POE for openSUSE:Factory 
checked in at 2015-04-21 10:51:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-POE (Old)
 and      /work/SRC/openSUSE:Factory/.perl-POE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-POE"

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-POE/perl-POE.changes        2014-08-06 
15:32:06.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-POE.new/perl-POE.changes   2015-04-21 
10:51:29.000000000 +0200
@@ -1,0 +2,117 @@
+Tue Apr 14 20:46:22 UTC 2015 - [email protected]
+
+- updated to 1.366
+   see /usr/share/doc/packages/perl-POE/CHANGES
+
+  2014-11-03 13:39:18 -0500 v1_366
+  ================================
+  
+    commit 63e55125e55b4220984cc51dc3eb68ae1eb9cb21
+    Author: Rocco Caputo <[email protected]>
+    Date:   Mon Nov 3 13:39:18 2014 -0500
+    
+      Bump versions and dependencies for release.
+  
+    commit b800fb63188ac415b9f706428289d89b9d90e32f
+    Author: Rocco Caputo <[email protected]>
+    Date:   Fri Oct 31 12:23:41 2014 -0400
+    
+      Fall back to getprotobyname() if Socket doesn't export IPPROTO_TCP or
+      IPPROTO_UDP.
+  
+      CPAN testers were failing POE because Socket didn't provide these on
+      the full range of test machines. The common thread seems to be Perl
+      prior to 5.9. While quite old, there's no compelling reason not to
+      support it.
+  
+      This change also caches the protocol numbers at startup, rather than
+      looking them up every time. It should be slightly faster as a result.
+  
+    commit 90d04a311e463749dfeb10f3032866a723e7ca82
+    Author: Philip Gwyn <[email protected]>
+    Date:   Fri Oct 31 11:12:11 2014 -0400
+    
+      [rt.cpan.org 91406] Use empty string instead of undef for __DIE__
+      handler.
+  
+      The rt.cpan.org bug alleges that the empty string is more compatible.
+      It doesn't seem to make a difference for contemporary versions of
+      Perl, so why not?
+  
+    commit c6f8e4f9dabbef51a75dbb043c01c92807fc604c
+    Author: Rocco Caputo <[email protected]>
+    Date:   Thu Oct 30 12:26:25 2014 -0400
+    
+      Trigger POE::Session _stop handlers when POE::Kernel->stop() is
+      called.
+  
+    commit ad6056b4bf5f928f87694fb274b7f30ae1534eb7
+    Author: Rocco Caputo <[email protected]>
+    Date:   Thu Oct 30 12:18:00 2014 -0400
+    
+      Remove Data::Dump. It's not used, but use() is FAILing tests.
+  
+    commit 4d3cc9fb8310050b4854a5f17ebb3821a870edae
+    Author: Rocco Caputo <[email protected]>
+    Date:   Thu Oct 2 16:12:42 2014 -0400
+    
+      Clarify the "now running in a different process" warning. 
+  
+  ================================
+  2014-10-01 19:38:47 -0400 v1_365
+  ================================
+  
+    commit ac32695a49330c0543eb985c7e7024f29b14ea28
+    Author: Rocco Caputo <[email protected]>
+    Date:   Wed Oct 1 19:38:47 2014 -0400
+    
+      Bump the version for release.
+  
+    commit 0ffe08ceb164a53003a28364b9a9e3012961ecbb
+    Author: Rocco Caputo <[email protected]>
+    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 <[email protected]>
+    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 <[email protected]>
+    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 <[email protected]>
+    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 <[email protected]>
+    Date:   Sun Jul 27 03:25:47 2014 +0200
+    
+      Workaround for systems without getprotobyn* (e.g. android) 
+  
+  ================================
+
+-------------------------------------------------------------------

Old:
----
  POE-1.364.tar.gz

New:
----
  POE-1.366.tar.gz
  cpanspec.yml

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-POE.spec ++++++
--- /var/tmp/diff_new_pack.uJIcgP/_old  2015-04-21 10:51:30.000000000 +0200
+++ /var/tmp/diff_new_pack.uJIcgP/_new  2015-04-21 10:51:30.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-POE
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,14 +17,15 @@
 
 
 Name:           perl-POE
-Version:        1.364
+Version:        1.366
 Release:        0
 %define cpan_name POE
-Summary:        portable multitasking and networking framework for any event 
loop
+Summary:        Portable Multitasking and Networking Framework for Any Event 
Loop
 License:        Artistic-1.0 or GPL-1.0+
 Group:          Development/Libraries/Perl
 Url:            http://search.cpan.org/dist/POE/
-Source:         
http://www.cpan.org/authors/id/R/RC/RCAPUTO/%{cpan_name}-%{version}.tar.gz
+Source0:        
http://www.cpan.org/authors/id/R/RC/RCAPUTO/%{cpan_name}-%{version}.tar.gz
+Source1:        cpanspec.yml
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  perl
@@ -33,17 +34,18 @@
 BuildRequires:  perl(IO::Handle) >= 1.27
 BuildRequires:  perl(IO::Pipely) >= 0.005
 BuildRequires:  perl(IO::Tty) >= 1.08
-BuildRequires:  perl(POE::Test::Loops) >= 1.358
+BuildRequires:  perl(POE::Test::Loops) >= 1.360
 BuildRequires:  perl(Storable) >= 2.16
 Requires:       perl(IO) >= 1.24
 Requires:       perl(IO::Handle) >= 1.27
 Requires:       perl(IO::Pipely) >= 0.005
 Requires:       perl(IO::Tty) >= 1.08
-Requires:       perl(POE::Test::Loops) >= 1.358
+Requires:       perl(POE::Test::Loops) >= 1.360
 Requires:       perl(Storable) >= 2.16
 %{perl_requires}
-# MANUAL
+# MANUAL BEGIN
 BuildRequires:  netcfg
+# MANUAL END
 
 %description
 POE is a framework for cooperative, event driven multitasking and

++++++ POE-1.364.tar.gz -> POE-1.366.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/CHANGES new/POE-1.366/CHANGES
--- old/POE-1.364/CHANGES       2014-07-13 00:25:39.000000000 +0200
+++ new/POE-1.366/CHANGES       2014-11-03 19:42:52.000000000 +0100
@@ -1,4 +1,114 @@
 ================================
+2014-11-03 13:39:18 -0500 v1_366
+================================
+
+  commit 63e55125e55b4220984cc51dc3eb68ae1eb9cb21
+  Author: Rocco Caputo <[email protected]>
+  Date:   Mon Nov 3 13:39:18 2014 -0500
+  
+    Bump versions and dependencies for release.
+
+  commit b800fb63188ac415b9f706428289d89b9d90e32f
+  Author: Rocco Caputo <[email protected]>
+  Date:   Fri Oct 31 12:23:41 2014 -0400
+  
+    Fall back to getprotobyname() if Socket doesn't export IPPROTO_TCP or
+    IPPROTO_UDP.
+
+    CPAN testers were failing POE because Socket didn't provide these on
+    the full range of test machines. The common thread seems to be Perl
+    prior to 5.9. While quite old, there's no compelling reason not to
+    support it.
+
+    This change also caches the protocol numbers at startup, rather than
+    looking them up every time. It should be slightly faster as a result.
+
+  commit 90d04a311e463749dfeb10f3032866a723e7ca82
+  Author: Philip Gwyn <[email protected]>
+  Date:   Fri Oct 31 11:12:11 2014 -0400
+  
+    [rt.cpan.org 91406] Use empty string instead of undef for __DIE__
+    handler.
+
+    The rt.cpan.org bug alleges that the empty string is more compatible.
+    It doesn't seem to make a difference for contemporary versions of
+    Perl, so why not?
+
+  commit c6f8e4f9dabbef51a75dbb043c01c92807fc604c
+  Author: Rocco Caputo <[email protected]>
+  Date:   Thu Oct 30 12:26:25 2014 -0400
+  
+    Trigger POE::Session _stop handlers when POE::Kernel->stop() is
+    called.
+
+  commit ad6056b4bf5f928f87694fb274b7f30ae1534eb7
+  Author: Rocco Caputo <[email protected]>
+  Date:   Thu Oct 30 12:18:00 2014 -0400
+  
+    Remove Data::Dump. It's not used, but use() is FAILing tests.
+
+  commit 4d3cc9fb8310050b4854a5f17ebb3821a870edae
+  Author: Rocco Caputo <[email protected]>
+  Date:   Thu Oct 2 16:12:42 2014 -0400
+  
+    Clarify the "now running in a different process" warning. 
+
+================================
+2014-10-01 19:38:47 -0400 v1_365
+================================
+
+  commit ac32695a49330c0543eb985c7e7024f29b14ea28
+  Author: Rocco Caputo <[email protected]>
+  Date:   Wed Oct 1 19:38:47 2014 -0400
+  
+    Bump the version for release.
+
+  commit 0ffe08ceb164a53003a28364b9a9e3012961ecbb
+  Author: Rocco Caputo <[email protected]>
+  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 <[email protected]>
+  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 <[email protected]>
+  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 <[email protected]>
+  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 <[email protected]>
+  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 +810,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 <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  Date:   Tue Aug 20 16:19:21 2013 -0400
-  
-    Remove trailing whitespace.
-
-  commit 5282c8e449b32d77eece3fe7857f115bb58adfc7
-  Author: Rocco Caputo <[email protected]>
-  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 <[email protected]>
-  Date:   Tue Aug 20 13:23:05 2013 -0400
-  
-    Bump version and dependencies for release.
-
-  commit 012098ebc019e1cd1c74d23fab7b4e7112a3adec
-  Author: Rocco Caputo <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  Date:   Sun Aug 18 04:44:12 2013 -0400
-  
-    Eliminate an uninitialized value warning in the tests.
-
-  commit cb8a944db305c3d9adb1752d2d730bdec192cfd7
-  Author: Rocco Caputo <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  Date:   Sun Aug 18 02:19:15 2013 -0400
-  
-    Update copyright dates.
-
-  commit 890244dd7b20a86301c024b9e994c36d993f9180
-  Author: Rocco Caputo <[email protected]>
-  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 <[email protected]>
-  Date:   Sun Aug 18 01:59:15 2013 -0400
-  
-    Update sample programs.
-
-  commit 78722c75e36ccd9ae8280a3202adb9840a7bedbe
-  Author: Rocco Caputo <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  Date:   Mon Jul 15 22:39:15 2013 -0400
-  
-    Fix a typo introduced in an earlier commit.
-
-  commit 0f36f724df6c77d0c53d248fc74e71e7cbdf8057
-  Author: Mike <[email protected]>
-  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 <[email protected]>
-  Date:   Sat Jul 6 15:09:47 2013 -0400
-  
-    Turn off debugging.
-
-  commit bf9514fbddfc5e954b3c2f5e54724ee2da3868fe
-  Merge: 223a8cc 940189d
-  Author: Rocco Caputo <[email protected]>
-  Date:   Sat Jun 8 21:54:52 2013 -0400
-  
-    Merge remote-tracking branch 'remotes/sf/master'
-
-  commit 940189dfb8177e3685bc46fcf256bf6752024f32
-  Author: Philip Gwyn <[email protected]>
-  Date:   Sat Jun 8 12:36:31 2013 -0400
-  
-    Added POE::Resource::Clock
-
-  commit 223a8cca126e70aed5f15979cb3ea9fc661909b1
-  Author: Rocco Caputo <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  Date:   Sat Apr 20 22:50:37 2013 -0400
-  
-    Replace Z<comment> with =for comment, per perlpod.
-
-  commit b7eec09b0f052c210925999b09a921a165b24f0f
-  Author: Rocco Caputo <[email protected]>
-  Date:   Tue Dec 18 01:37:52 2012 -0500
-  
-    [rt.cpan.org 77907] Apply Alexander Becker's documentation
-    suggestion.
-
-  commit 032420f716604cac2914d692e3c5d3c8a7dbeefa
-  Author: Rocco Caputo <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  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 <[email protected]>
-  Date:   Thu Jun 28 00:17:40 2012 -0400
-  
-    Add more signal handling diagnostics when asserting data at shutdown.
-
-  commit f27fa471d95ac270c1a927a27438587cc92bccf8
-  Author: Rocco Caputo <[email protected]>
-  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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/MANIFEST new/POE-1.366/MANIFEST
--- old/POE-1.364/MANIFEST      2014-07-13 00:25:34.000000000 +0200
+++ new/POE-1.366/MANIFEST      2014-11-03 19:42:44.000000000 +0100
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/META.json new/POE-1.366/META.json
--- old/POE-1.364/META.json     2014-07-13 00:25:33.000000000 +0200
+++ new/POE-1.366/META.json     2014-11-03 19:42:44.000000000 +0100
@@ -4,7 +4,7 @@
       "Rocco Caputo <[email protected]>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter 
version 2.141520",
+   "generated_by" : "ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter 
version 2.142690",
    "license" : [
       "perl_5"
    ],
@@ -23,12 +23,12 @@
    "prereqs" : {
       "build" : {
          "requires" : {
-            "POE::Test::Loops" : "1.358"
+            "POE::Test::Loops" : "1.360"
          }
       },
       "configure" : {
          "requires" : {
-            "POE::Test::Loops" : "1.358"
+            "POE::Test::Loops" : "1.360"
          }
       },
       "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.360",
             "POSIX" : "1.02",
             "Socket" : "1.7",
             "Storable" : "2.16",
@@ -60,5 +60,5 @@
          "url" : "https://github.com/rcaputo/poe";
       }
    },
-   "version" : "1.364"
+   "version" : "1.366"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/META.yml new/POE-1.366/META.yml
--- old/POE-1.364/META.yml      2014-07-13 00:25:33.000000000 +0200
+++ new/POE-1.366/META.yml      2014-11-03 19:42:44.000000000 +0100
@@ -3,11 +3,11 @@
 author:
   - 'Rocco Caputo <[email protected]>'
 build_requires:
-  POE::Test::Loops: '1.358'
+  POE::Test::Loops: '1.360'
 configure_requires:
-  POE::Test::Loops: '1.358'
+  POE::Test::Loops: '1.360'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 
2.141520'
+generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 
2.142690'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -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.360'
   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.366'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/README new/POE-1.366/README
--- old/POE-1.364/README        2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/README        2014-11-03 19:38:16.000000000 +0100
@@ -1,4 +1,4 @@
-Version 1.364
+Version 1.366
 
 --------------------
 Detailed Information
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Component/Client/TCP.pm 
new/POE-1.366/lib/POE/Component/Client/TCP.pm
--- old/POE-1.364/lib/POE/Component/Client/TCP.pm       2014-07-13 
00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Component/Client/TCP.pm       2014-11-03 
19:38:16.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use Carp qw(carp croak);
 use Errno qw(ETIMEDOUT ECONNRESET);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Component/Server/TCP.pm 
new/POE-1.366/lib/POE/Component/Server/TCP.pm
--- old/POE-1.364/lib/POE/Component/Server/TCP.pm       2014-07-13 
00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Component/Server/TCP.pm       2014-11-03 
19:38:16.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Component.pm 
new/POE-1.366/lib/POE/Component.pm
--- old/POE-1.364/lib/POE/Component.pm  2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Component.pm  2014-11-03 19:38:16.000000000 +0100
@@ -5,7 +5,7 @@
 use strict;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 1;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Driver/SysRW.pm 
new/POE-1.366/lib/POE/Driver/SysRW.pm
--- old/POE-1.364/lib/POE/Driver/SysRW.pm       2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Driver/SysRW.pm       2014-11-03 19:38:16.000000000 
+0100
@@ -7,7 +7,7 @@
 use strict;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use Errno qw(EAGAIN EWOULDBLOCK);
 use Carp qw(croak);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Driver.pm 
new/POE-1.366/lib/POE/Driver.pm
--- old/POE-1.364/lib/POE/Driver.pm     2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Driver.pm     2014-11-03 19:38:16.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use Carp qw(croak);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Filter/Block.pm 
new/POE-1.366/lib/POE/Filter/Block.pm
--- old/POE-1.364/lib/POE/Filter/Block.pm       2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Filter/Block.pm       2014-11-03 19:38:16.000000000 
+0100
@@ -4,7 +4,7 @@
 use POE::Filter;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 @ISA = qw(POE::Filter);
 
 use Carp qw(croak);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Filter/Grep.pm 
new/POE-1.366/lib/POE/Filter/Grep.pm
--- old/POE-1.364/lib/POE/Filter/Grep.pm        2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Filter/Grep.pm        2014-11-03 19:38:16.000000000 
+0100
@@ -6,7 +6,7 @@
 use POE::Filter;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 @ISA = qw(POE::Filter);
 
 use Carp qw(croak carp);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Filter/HTTPD.pm 
new/POE-1.366/lib/POE/Filter/HTTPD.pm
--- old/POE-1.364/lib/POE/Filter/HTTPD.pm       2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Filter/HTTPD.pm       2014-11-03 19:38:16.000000000 
+0100
@@ -13,7 +13,7 @@
 use POE::Filter;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364';
+$VERSION = '1.366';
 # 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Filter/Line.pm 
new/POE-1.366/lib/POE/Filter/Line.pm
--- old/POE-1.364/lib/POE/Filter/Line.pm        2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Filter/Line.pm        2014-11-03 19:38:16.000000000 
+0100
@@ -4,7 +4,7 @@
 use POE::Filter;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 @ISA = qw(POE::Filter);
 
 use Carp qw(carp croak);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Filter/Map.pm 
new/POE-1.366/lib/POE/Filter/Map.pm
--- old/POE-1.364/lib/POE/Filter/Map.pm 2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Filter/Map.pm 2014-11-03 19:38:16.000000000 +0100
@@ -6,7 +6,7 @@
 use POE::Filter;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 @ISA = qw(POE::Filter);
 
 use Carp qw(croak carp);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Filter/RecordBlock.pm 
new/POE-1.366/lib/POE/Filter/RecordBlock.pm
--- old/POE-1.364/lib/POE/Filter/RecordBlock.pm 2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Filter/RecordBlock.pm 2014-11-03 19:38:16.000000000 
+0100
@@ -6,7 +6,7 @@
 use POE::Filter;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 @ISA = qw(POE::Filter);
 
 use Carp qw(croak);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Filter/Reference.pm 
new/POE-1.366/lib/POE/Filter/Reference.pm
--- old/POE-1.364/lib/POE/Filter/Reference.pm   2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Filter/Reference.pm   2014-11-03 19:38:16.000000000 
+0100
@@ -7,7 +7,7 @@
 use POE::Filter;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 @ISA = qw(POE::Filter);
 
 use Carp qw(carp croak confess);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Filter/Stackable.pm 
new/POE-1.366/lib/POE/Filter/Stackable.pm
--- old/POE-1.364/lib/POE/Filter/Stackable.pm   2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Filter/Stackable.pm   2014-11-03 19:38:16.000000000 
+0100
@@ -12,7 +12,7 @@
 use POE::Filter;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 @ISA = qw(POE::Filter);
 
 use Carp qw(croak);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Filter/Stream.pm 
new/POE-1.366/lib/POE/Filter/Stream.pm
--- old/POE-1.364/lib/POE/Filter/Stream.pm      2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Filter/Stream.pm      2014-11-03 19:38:16.000000000 
+0100
@@ -4,7 +4,7 @@
 use POE::Filter;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 @ISA = qw(POE::Filter);
 
 #------------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Filter.pm 
new/POE-1.366/lib/POE/Filter.pm
--- old/POE-1.364/lib/POE/Filter.pm     2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Filter.pm     2014-11-03 19:38:16.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use Carp qw(croak);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Kernel.pm 
new/POE-1.366/lib/POE/Kernel.pm
--- old/POE-1.364/lib/POE/Kernel.pm     2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Kernel.pm     2014-11-03 19:38:16.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # 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!
@@ -1057,10 +1062,11 @@
 
   # Quiet SIGDIE if it's DEFAULT.  If it's something special, then
   # someone had better know what they're doing.
+  # 'DEFAULT', undef and '' are all the same.
 
   my $old_sig_die = $SIG{__DIE__};
   $SIG{__DIE__} = \&_dummy_sigdie_handler if (
-    not defined $old_sig_die or $old_sig_die eq 'DEFAULT'
+    not defined $old_sig_die or $old_sig_die eq 'DEFAULT' or $old_sig_die eq ''
   );
 
   eval {
@@ -1100,13 +1106,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,
@@ -1322,7 +1328,7 @@
 
     # Walk backwards to avoid inconsistency errors.
     foreach my $session (reverse @children) {
-      $self->_data_ses_free($session->ID);
+      $self->_data_ses_stop($session->ID);
     }
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Loop/IO_Poll.pm 
new/POE-1.366/lib/POE/Loop/IO_Poll.pm
--- old/POE-1.364/lib/POE/Loop/IO_Poll.pm       2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Loop/IO_Poll.pm       2014-11-03 19:38:16.000000000 
+0100
@@ -6,7 +6,7 @@
 package POE::Loop::IO_Poll;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 # Include common signal handling.
 use POE::Loop::PerlSignals;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Loop/PerlSignals.pm 
new/POE-1.366/lib/POE/Loop/PerlSignals.pm
--- old/POE-1.364/lib/POE/Loop/PerlSignals.pm   2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Loop/PerlSignals.pm   2014-11-03 19:38:16.000000000 
+0100
@@ -8,7 +8,7 @@
 use strict;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 # Everything plugs into POE::Kernel.
 package POE::Kernel;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Loop/Select.pm 
new/POE-1.366/lib/POE/Loop/Select.pm
--- old/POE-1.364/lib/POE/Loop/Select.pm        2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Loop/Select.pm        2014-11-03 19:38:16.000000000 
+0100
@@ -9,7 +9,7 @@
 use POE::Loop::PerlSignals;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 =for poe_tests
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Loop.pm 
new/POE-1.366/lib/POE/Loop.pm
--- old/POE-1.364/lib/POE/Loop.pm       2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Loop.pm       2014-11-03 19:38:16.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 1;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/NFA.pm new/POE-1.366/lib/POE/NFA.pm
--- old/POE-1.364/lib/POE/NFA.pm        2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/NFA.pm        2014-11-03 19:38:16.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use Carp qw(carp croak);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Pipe/OneWay.pm 
new/POE-1.366/lib/POE/Pipe/OneWay.pm
--- old/POE-1.364/lib/POE/Pipe/OneWay.pm        2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Pipe/OneWay.pm        2014-11-03 19:38:16.000000000 
+0100
@@ -8,7 +8,7 @@
 use base qw( POE::Pipe );
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use IO::Pipely qw(pipely);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Pipe/TwoWay.pm 
new/POE-1.366/lib/POE/Pipe/TwoWay.pm
--- old/POE-1.364/lib/POE/Pipe/TwoWay.pm        2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Pipe/TwoWay.pm        2014-11-03 19:38:16.000000000 
+0100
@@ -8,7 +8,7 @@
 use base qw( POE::Pipe );
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use IO::Pipely qw(socketpairly);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Pipe.pm 
new/POE-1.366/lib/POE/Pipe.pm
--- old/POE-1.364/lib/POE/Pipe.pm       2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Pipe.pm       2014-11-03 19:38:16.000000000 +0100
@@ -6,7 +6,7 @@
 use strict;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use IO::Pipely;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Queue/Array.pm 
new/POE-1.366/lib/POE/Queue/Array.pm
--- old/POE-1.364/lib/POE/Queue/Array.pm        2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Queue/Array.pm        2014-11-03 19:38:16.000000000 
+0100
@@ -5,7 +5,7 @@
 use strict;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 @ISA = qw(POE::Queue);
 
 use Errno qw(ESRCH EPERM);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Queue.pm 
new/POE-1.366/lib/POE/Queue.pm
--- old/POE-1.364/lib/POE/Queue.pm      2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Queue.pm      2014-11-03 19:38:16.000000000 +0100
@@ -1,7 +1,7 @@
 package POE::Queue;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use Carp qw(croak);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Resource/Aliases.pm 
new/POE-1.366/lib/POE/Resource/Aliases.pm
--- old/POE-1.364/lib/POE/Resource/Aliases.pm   2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Resource/Aliases.pm   2014-11-03 19:38:16.000000000 
+0100
@@ -4,7 +4,7 @@
 package POE::Resource::Aliases;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 # These methods are folded into POE::Kernel;
 package POE::Kernel;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Resource/Clock.pm 
new/POE-1.366/lib/POE/Resource/Clock.pm
--- old/POE-1.364/lib/POE/Resource/Clock.pm     2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Resource/Clock.pm     2014-11-03 19:38:16.000000000 
+0100
@@ -3,7 +3,7 @@
 package POE::Resource::Clock;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use strict;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Resource/Events.pm 
new/POE-1.366/lib/POE/Resource/Events.pm
--- old/POE-1.364/lib/POE/Resource/Events.pm    2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Resource/Events.pm    2014-11-03 19:38:16.000000000 
+0100
@@ -3,7 +3,7 @@
 package POE::Resource::Events;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Resource/Extrefs.pm 
new/POE-1.366/lib/POE/Resource/Extrefs.pm
--- old/POE-1.364/lib/POE/Resource/Extrefs.pm   2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Resource/Extrefs.pm   2014-11-03 19:38:16.000000000 
+0100
@@ -5,7 +5,7 @@
 package POE::Resource::Extrefs;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 # These methods are folded into POE::Kernel;
 package POE::Kernel;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Resource/FileHandles.pm 
new/POE-1.366/lib/POE/Resource/FileHandles.pm
--- old/POE-1.364/lib/POE/Resource/FileHandles.pm       2014-07-13 
00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Resource/FileHandles.pm       2014-11-03 
19:38:16.000000000 +0100
@@ -4,7 +4,7 @@
 package POE::Resource::FileHandles;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 # These methods are folded into POE::Kernel;
 package POE::Kernel;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Resource/SIDs.pm 
new/POE-1.366/lib/POE/Resource/SIDs.pm
--- old/POE-1.364/lib/POE/Resource/SIDs.pm      2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Resource/SIDs.pm      2014-11-03 19:38:16.000000000 
+0100
@@ -4,7 +4,7 @@
 package POE::Resource::SIDs;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 # These methods are folded into POE::Kernel;
 package POE::Kernel;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Resource/Sessions.pm 
new/POE-1.366/lib/POE/Resource/Sessions.pm
--- old/POE-1.364/lib/POE/Resource/Sessions.pm  2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Resource/Sessions.pm  2014-11-03 19:38:16.000000000 
+0100
@@ -3,7 +3,7 @@
 package POE::Resource::Sessions;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 # These methods are folded into POE::Kernel;
 package POE::Kernel;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Resource/Signals.pm 
new/POE-1.366/lib/POE/Resource/Signals.pm
--- old/POE-1.364/lib/POE/Resource/Signals.pm   2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Resource/Signals.pm   2014-11-03 19:38:16.000000000 
+0100
@@ -4,7 +4,7 @@
 package POE::Resource::Signals;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 # These methods are folded into POE::Kernel;
 package POE::Kernel;
@@ -917,9 +917,12 @@
 
   if( $$ != $signal_pipe_pid ) {
     _warn(
-      "<sg> Kernel now running in a different process " .
-      "(is=$$ was=$signal_pipe_pid ).  " .
-      "You must call call \$poe_kernel->has_forked() in the child process."
+      "<sg> Signal caught in different process than POE::Kernel initialized " .
+      "(newPID=$$ oldPID=$signal_pipe_pid sig=$signal_name).\n"
+    );
+    _warn(
+      "Call POE::Kernel->has_forked() in the child process " .
+      "to relocate the signal handler.\n"
     );
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Resource.pm 
new/POE-1.366/lib/POE/Resource.pm
--- old/POE-1.364/lib/POE/Resource.pm   2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Resource.pm   2014-11-03 19:38:16.000000000 +0100
@@ -1,7 +1,7 @@
 package POE::Resource;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 1;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Resources.pm 
new/POE-1.366/lib/POE/Resources.pm
--- old/POE-1.364/lib/POE/Resources.pm  2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Resources.pm  2014-11-03 19:38:16.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 my @resources = qw(
   POE::XS::Resource::Aliases
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Session.pm 
new/POE-1.366/lib/POE/Session.pm
--- old/POE-1.364/lib/POE/Session.pm    2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Session.pm    2014-11-03 19:38:16.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use Carp qw(carp croak);
 use Errno;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Wheel/Curses.pm 
new/POE-1.366/lib/POE/Wheel/Curses.pm
--- old/POE-1.364/lib/POE/Wheel/Curses.pm       2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Wheel/Curses.pm       2014-11-03 19:38:16.000000000 
+0100
@@ -5,7 +5,7 @@
 use strict;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use Carp qw(croak);
 use Curses qw(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Wheel/FollowTail.pm 
new/POE-1.366/lib/POE/Wheel/FollowTail.pm
--- old/POE-1.364/lib/POE/Wheel/FollowTail.pm   2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Wheel/FollowTail.pm   2014-11-03 19:38:16.000000000 
+0100
@@ -3,7 +3,7 @@
 use strict;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Wheel/ListenAccept.pm 
new/POE-1.366/lib/POE/Wheel/ListenAccept.pm
--- old/POE-1.364/lib/POE/Wheel/ListenAccept.pm 2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Wheel/ListenAccept.pm 2014-11-03 19:38:16.000000000 
+0100
@@ -3,7 +3,7 @@
 use strict;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use Carp qw( croak carp );
 use Symbol qw( gensym );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Wheel/ReadLine.pm 
new/POE-1.366/lib/POE/Wheel/ReadLine.pm
--- old/POE-1.364/lib/POE/Wheel/ReadLine.pm     2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Wheel/ReadLine.pm     2014-11-03 19:38:16.000000000 
+0100
@@ -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.366'; # NOTE - Should be #.### (three decimal places)
 
 use Carp qw( croak carp );
 use Symbol qw(gensym);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Wheel/ReadWrite.pm 
new/POE-1.366/lib/POE/Wheel/ReadWrite.pm
--- old/POE-1.364/lib/POE/Wheel/ReadWrite.pm    2014-07-13 00:24:26.000000000 
+0200
+++ new/POE-1.366/lib/POE/Wheel/ReadWrite.pm    2014-11-03 19:38:16.000000000 
+0100
@@ -3,7 +3,7 @@
 use strict;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use Carp qw( croak carp );
 use POE qw(Wheel Driver::SysRW Filter::Line);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Wheel/Run.pm 
new/POE-1.366/lib/POE/Wheel/Run.pm
--- old/POE-1.364/lib/POE/Wheel/Run.pm  2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Wheel/Run.pm  2014-11-03 19:38:16.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use Carp qw(carp croak);
 use POSIX qw(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Wheel/SocketFactory.pm 
new/POE-1.366/lib/POE/Wheel/SocketFactory.pm
--- old/POE-1.364/lib/POE/Wheel/SocketFactory.pm        2014-07-13 
00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Wheel/SocketFactory.pm        2014-11-03 
19:38:16.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 
 use vars qw($VERSION @ISA);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use Carp qw( carp croak );
 use Symbol qw( gensym );
@@ -68,8 +68,27 @@
       *PF_INET6 = sub { -1 };
     }
   }
+
+  eval { Socket->import( 'IPPROTO_TCP' ) };
+  if ($@) {
+    *IPPROTO_TCP = (getprotobyname 'tcp')[2];
+  }
+
+  eval { Socket->import( 'IPPROTO_UDP' ) };
+  if ($@) {
+    *IPPROTO_UDP = (getprotobyname 'udp')[2];
+  }
 }
 
+# Common protocols to help support systems that don't have
+# getprotobyname().
+my %proto_by_name = (
+    tcp => IPPROTO_TCP,
+    udp => IPPROTO_UDP,
+);
+
+my %proto_by_number = reverse %proto_by_name;
+
 #------------------------------------------------------------------------------
 # These tables customize the socketfactory.  Many protocols share the
 # same operations, it seems, and this is a way to add new ones with a
@@ -537,8 +556,9 @@
       : 'tcp'
     );
 
+
     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 +569,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 +618,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, IPPROTO_TCP)
         or die "socket failed: $!";
       my $opt = unpack("I", getsockopt(POE, SOL_SOCKET, SO_OPENTYPE()));
       $win32_socket_opt = $opt;
@@ -630,7 +650,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, IPPROTO_TCP)
         or die "socket failed: $!";
       setsockopt(POE, SOL_SOCKET, SO_OPENTYPE(), $win32_socket_opt);
       close POE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE/Wheel.pm 
new/POE-1.366/lib/POE/Wheel.pm
--- old/POE-1.364/lib/POE/Wheel.pm      2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE/Wheel.pm      2014-11-03 19:38:16.000000000 +0100
@@ -3,7 +3,7 @@
 use strict;
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use Carp qw(croak);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/lib/POE.pm new/POE-1.366/lib/POE.pm
--- old/POE-1.364/lib/POE.pm    2014-07-13 00:24:26.000000000 +0200
+++ new/POE-1.366/lib/POE.pm    2014-11-03 19:38:16.000000000 +0100
@@ -6,7 +6,7 @@
 use Carp qw( croak );
 
 use vars qw($VERSION);
-$VERSION = '1.364'; # NOTE - Should be #.### (three decimal places)
+$VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
 
 use POE::Resource::Clock qw( monotime time walltime sleep mono2wall wall2mono 
);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/mylib/PoeBuildInfo.pm 
new/POE-1.366/mylib/PoeBuildInfo.pm
--- old/POE-1.364/mylib/PoeBuildInfo.pm 2014-07-13 00:24:17.000000000 +0200
+++ new/POE-1.366/mylib/PoeBuildInfo.pm 2014-11-03 19:39:09.000000000 +0100
@@ -25,7 +25,7 @@
 
 sub CONFIG_REQUIREMENTS () {
   (
-    "POE::Test::Loops"  => '1.358',
+    "POE::Test::Loops"  => '1.360',
   );
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/t/10_units/07_exceptions/02_turn_off.t 
new/POE-1.366/t/10_units/07_exceptions/02_turn_off.t
--- old/POE-1.364/t/10_units/07_exceptions/02_turn_off.t        2010-09-05 
02:21:22.000000000 +0200
+++ new/POE-1.366/t/10_units/07_exceptions/02_turn_off.t        2014-10-30 
17:22:09.000000000 +0100
@@ -1,5 +1,5 @@
 # vim: ts=2 sw=2 filetype=perl expandtab
-use Test::More tests => 3;
+use Test::More tests => 4;
 
 sub POE::Kernel::CATCH_EXCEPTIONS () { 0 }
 use POE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/t/10_units/07_exceptions/03_not_handled.t 
new/POE-1.366/t/10_units/07_exceptions/03_not_handled.t
--- old/POE-1.364/t/10_units/07_exceptions/03_not_handled.t     2011-04-17 
06:14:43.000000000 +0200
+++ new/POE-1.366/t/10_units/07_exceptions/03_not_handled.t     2014-10-30 
17:23:21.000000000 +0100
@@ -1,5 +1,5 @@
 # vim: ts=2 sw=2 filetype=perl expandtab
-use Test::More tests => 7;
+use Test::More tests => 8;
 
 use POE;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/t/90_regression/grinnz-die-in-die.t 
new/POE-1.366/t/90_regression/grinnz-die-in-die.t
--- old/POE-1.364/t/90_regression/grinnz-die-in-die.t   1970-01-01 
01:00:00.000000000 +0100
+++ new/POE-1.366/t/90_regression/grinnz-die-in-die.t   2014-10-02 
01:19:29.000000000 +0200
@@ -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"
+);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/t/90_regression/leolo-sig-die.t 
new/POE-1.366/t/90_regression/leolo-sig-die.t
--- old/POE-1.364/t/90_regression/leolo-sig-die.t       2013-09-06 
00:41:58.000000000 +0200
+++ new/POE-1.366/t/90_regression/leolo-sig-die.t       2014-10-31 
16:06:07.000000000 +0100
@@ -71,7 +71,8 @@
       is( $ret, 42, 'scalar_ctx3 return value' );
 
       # Undefine SIGDIE handler to cause a hard death.
-      $SIG{__DIE__} = undef;
+      # Really setting it to an empty string for compatibility reasons.
+      $SIG{__DIE__} = '';
       my @ret = $poe_kernel->call( $_[SESSION], 'array_ctx3' );
       fail( 'array_ctx3 returned unexpectedly' );
     },
@@ -84,7 +85,7 @@
 
     array_ctx3 => sub {
       # now we throw an execption up to our __DIE__ handler
-      is($SIG{__DIE__}, undef, 'array_ctx3');
+      is($SIG{__DIE__}, '', 'array_ctx3');
       $WANT = "array_ctx3";
       die "$WANT\nmore\n";
       return ( 1..17 );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/POE-1.364/t/90_regression/ton-stop-corruption.t 
new/POE-1.366/t/90_regression/ton-stop-corruption.t
--- old/POE-1.364/t/90_regression/ton-stop-corruption.t 2010-09-05 
02:21:22.000000000 +0200
+++ new/POE-1.366/t/90_regression/ton-stop-corruption.t 2014-10-30 
17:25:12.000000000 +0100
@@ -45,6 +45,6 @@
 
 POE::Kernel->run();
 
-ok( !$stop_was_called, "stop was not called" );
+is( $stop_was_called, 1, "stop was only called once" );
 
 exit;

++++++ cpanspec.yml ++++++
---
#description_paragraphs: 3
#no_testing: broken upstream
#sources:
#  - source1
#  - source2
#patches:
#  foo.patch: -p1
#  bar.patch:
preamble: |-
 BuildRequires:  netcfg
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s,  *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL 
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: -
#./Build build flags=%{?_smp_mflags} --myflag

Reply via email to