Skip Menu |

This queue is for tickets about the POE CPAN distribution.

Report information
The Basics
Id: 1657
Status: resolved
Priority: 0/
Queue: POE

People
Owner: Nobody in particular
Requestors: RCAPUTO [...] cpan.org
Cc:
AdminCc:

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



Subject: move integrity checks out of END
Every time a program crashes, POE::Kernel stops abruptly and the END blocks that do the end-run integrity checks squeal like stuck pigs. Screens full of errors go by that would not have happened had the Kernel been allowed to shut down gracefully. Move the END checks to finalize() methods for each subsystem, and call them explicitly when the kernel ends normally.
From: jamesmarch
Patch for Kernel.pm attached. ? CHANGES ? blib ? Makefile ? pm_to_blib ? poe_report.xml ? finalize.patch Index: POE/Kernel.pm =================================================================== RCS file: /cvsroot/poe/poe/POE/Kernel.pm,v retrieving revision 1.213 diff -r1.213 Kernel.pm 298c298 < END { --- Show quoted text
> sub _data_extref_finalize {
398c398 < END { --- Show quoted text
> sub _data_sid_finalize {
499c499 < END { --- Show quoted text
> sub _data_sig_finalize
{ 669c669 < END { --- Show quoted text
> sub _data_alias_finalize {
809c809 < END { --- Show quoted text
> sub
_data_handle_finalize { 1357c1357 < END { --- Show quoted text
> sub _data_ev_finalize
{ 1582c1582 < END { --- Show quoted text
> sub _data_ses_finalize {
2439a2440,2446 Show quoted text
> $self- >_data_extref_finalize(); > $self->_data_sid_finalize(); > $self- >_data_sig_finalize(); > $self->_data_alias_finalize(); > $self- >_data_handle_finalize(); > $self->_data_ev_finalize(); > $self- >_data_ses_finalize();
[RCAPUTO - Sun Oct 13 23:28:04 2002]: Show quoted text
> Every time a
program crashes, POE::Kernel stops abruptly and the END Show quoted text
> blocks that do the end-run
integrity checks squeal like stuck pigs. Show quoted text
> Screens full of errors go by that would not
have happened had the Kernel Show quoted text
> been allowed to shut down gracefully. > > Move the
END checks to finalize() methods for each subsystem, and call Show quoted text
> them explicitly when
the kernel ends normally.
? CHANGES ? blib ? Makefile ? pm_to_blib ? poe_report.xml ? finalize.patch Index: POE/Kernel.pm =================================================================== RCS file: /cvsroot/poe/poe/POE/Kernel.pm,v retrieving revision 1.213 diff -r1.213 Kernel.pm 298c298 < END { --- > sub _data_extref_finalize { 398c398 < END { --- > sub _data_sid_finalize { 499c499 < END { --- > sub _data_sig_finalize { 669c669 < END { --- > sub _data_alias_finalize { 809c809 < END { --- > sub _data_handle_finalize { 1357c1357 < END { --- > sub _data_ev_finalize { 1582c1582 < END { --- > sub _data_ses_finalize { 2439a2440,2446 > $self->_data_extref_finalize(); > $self->_data_sid_finalize(); > $self->_data_sig_finalize(); > $self->_data_alias_finalize(); > $self->_data_handle_finalize(); > $self->_data_ev_finalize(); > $self->_data_ses_finalize();