summaryrefslogtreecommitdiff
path: root/cpan/Test-Simple/lib/Test/Stream/ForceExit.pm
diff options
context:
space:
mode:
Diffstat (limited to 'cpan/Test-Simple/lib/Test/Stream/ForceExit.pm')
-rw-r--r--cpan/Test-Simple/lib/Test/Stream/ForceExit.pm97
1 files changed, 0 insertions, 97 deletions
diff --git a/cpan/Test-Simple/lib/Test/Stream/ForceExit.pm b/cpan/Test-Simple/lib/Test/Stream/ForceExit.pm
deleted file mode 100644
index 32efb58170..0000000000
--- a/cpan/Test-Simple/lib/Test/Stream/ForceExit.pm
+++ /dev/null
@@ -1,97 +0,0 @@
-package Test::Stream::ForceExit;
-use strict;
-use warnings;
-
-sub new {
- my $class = shift;
-
- my $done = 0;
- my $self = \$done;
-
- return bless $self, $class;
-}
-
-sub done {
- my $self = shift;
- ($$self) = @_ if @_;
- return $$self;
-}
-
-sub DESTROY {
- my $self = shift;
- return if $self->done;
-
- warn "Something prevented child process $$ from exiting when it should have, Forcing exit now!\n";
- $self->done(1); # Prevent duplicate message during global destruction
- exit 255;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-Test::ForceExit - Ensure C<exit()> is called by the end of a scope, force the issue.
-
-=head1 DESCRIPTION
-
-Sometimes you need to fork. Sometimes the forked process can throw an exception
-to exit. If you forked below an eval the exception will be cought and you
-suddenly have an unexpected process running amok. This module can be used to
-protect you from such issues.
-
-=head1 SYNOPSYS
-
- eval {
- ...
-
- my $pid = fork;
-
- unless($pid) {
- require Test::Stream::ForceExit;
- my $force_exit = Test::Stream::ForceExit->new;
-
- thing_that_can_die();
-
- # We did not die, turn off the forced exit.
- $force_exit->done(1);
-
- # Do the exit we intend.
- exit 0;
- }
-
- ...
- }
-
-=head1 SOURCE
-
-The source code repository for Test::More can be found at
-F<http://github.com/Test-More/test-more/>.
-
-=head1 MAINTAINER
-
-=over 4
-
-=item Chad Granum E<lt>exodist@cpan.orgE<gt>
-
-=back
-
-=head1 AUTHORS
-
-=over 4
-
-=item Chad Granum E<lt>exodist@cpan.orgE<gt>
-
-=back
-
-=head1 COPYRIGHT
-
-Copyright 2014 Chad Granum E<lt>exodist7@gmail.comE<gt>.
-
-This program is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-See F<http://www.perl.com/perl/misc/Artistic.html>
-
-=cut