ports/devel/p5-libalarm/files/patch-lib__Alarm__Concurrent.pm
Felippe de Meirelles Motta e71fd1fb0d Perl module libalarm allows multiple queued alarms. This module is an attempt to enhance Perl's built-in alarm/$SIG{ALRM} functionality.
WWW: http://search.cpan.org/~johnsca/libalarm-1.0/

PR:		ports/122253
Submitted by:	Mykola Marzhan <delgod@portaone.com>
Approved by:	araujo (mentor)
2008-06-03 02:40:57 +00:00

26 lines
660 B
Perl

--- ./lib/Alarm/Concurrent.pm.orig 2004-05-11 22:06:28.000000000 +0000
+++ ./lib/Alarm/Concurrent.pm 2008-03-27 16:18:44.000000000 +0000
@@ -198,12 +198,14 @@
=cut
sub setalarm($$) {
my ($alarm, $code) = @_;
+ my $alarm_id = 0;
unless(not defined($code) or UNIVERSAL::isa($code, 'CODE')) {
croak("Alarm handler must be CODEREF");
}
push( @ALARM_QUEUE, [ $alarm, time(), $code ] );
+ $alarm_id = $#ALARM_QUEUE;
my $time_remaining;
$time_remaining = $ALARM_QUEUE[$ACTIVE_ALARM][1];
@@ -214,6 +216,8 @@
$ACTIVE_ALARM = $#ALARM_QUEUE;
CORE::alarm($alarm);
}
+
+ return $alarm_id;
}
=item clearalarm INDEX LENGTH