package threads::posix;
{
$threads::posix::VERSION = '0.002';
}
use strict;
use warnings;
use XSLoader;
XSLoader::load(__PACKAGE__, __PACKAGE__->VERSION);
use parent 'threads';
1;
#ABSTRACT: more POSIX correct threads
=pod
=head1 NAME
threads::posix - more POSIX correct threads
=head1 VERSION
version 0.002
=head1 SYNOPSIS
my $thread = thread::posix->create(sub { ... });
$thread->kill(SIGALRM);
=head1 DESCRIPTION
This module extends L<threads> to provide behaviors that are more conformant to what POSIX prescribes. You should realize that this doesn't in any way change the threads themselves, just how you intereract with them. Everything not described here should work exactly the same as in threads.pm.
=head1 METHODS
=head2 kill
Send a signal to a thread. Unlike what threads.pm does, this is a real OS level signal that will interact with various syscalls the way you expect them to, not a poke into the deferred signal handling system.
=begin Pod::Coverage
=item cancel
This method schedules a thread for cancelation. Currently L<threads> is known not to be cancel-safe, so this will leak an entire interpreter. Please use signals instead of this.
=end Pod::Coverage
=head1 AUTHOR
Leon Timmermans <leont@cpan.org>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Leon Timmermans.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
__END__