--- Async-Interrupt/Interrupt.pm 2009/07/30 03:59:47 1.21 +++ Async-Interrupt/Interrupt.pm 2010/05/15 00:08:48 1.27 @@ -235,10 +235,10 @@ BEGIN { # the next line forces initialisation of internal # signal handling variables, otherwise, PL_sig_pending - # etc. will be null pointers. + # etc. might be null pointers. $SIG{KILL} = sub { }; - our $VERSION = '1.0'; + our $VERSION = '1.05'; require XSLoader; XSLoader::load ("Async::Interrupt", $VERSION); @@ -538,7 +538,7 @@ =head1 THE Async::Interrupt::EventPipe CLASS -Pipes are the predominent utility to make asynchronous signals +Pipes are the predominant utility to make asynchronous signals synchronous. However, pipes are hard to come by: they don't exist on the broken windows platform, and on GNU/Linux systems, you might want to use an C instead. @@ -578,13 +578,16 @@ Drain (empty) the pipe. +=item ($c_func, $c_arg) = $epipe->signal_func + =item ($c_func, $c_arg) = $epipe->drain_func -Returns a function pointer and C argument that can be called to -have the effect of C<< $epipe->drain >> on the XS level. +These two methods returns a function pointer and C argument +that can be called to have the effect of C<< $epipe->signal >> or C<< +$epipe->drain >>, respectively, on the XS level. -It has the following prototype and needs to be passed the specified -C<$c_arg>, which is a C cast to C: +They both have the following prototype and need to be passed their +C<$c_arg>, which is a C cast to an C: void (*c_func) (void *c_arg)