From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 1BA5E1F5A1 for ; Sun, 12 Jan 2020 21:17:57 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 02/11] ds: add_timer: rename from AddTimer, remove a parameter Date: Sun, 12 Jan 2020 21:17:47 +0000 Message-Id: <20200112211756.23100-3-e@yhbt.net> In-Reply-To: <20200112211756.23100-1-e@yhbt.net> References: <20200112211756.23100-1-e@yhbt.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: The class parameter is pointless, especially for an internal sub which only has one external caller in a test. Add a sub prototype while we're at it to get some compile time checking. --- lib/PublicInbox/DS.pm | 13 +++++++------ t/ds-leak.t | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/PublicInbox/DS.pm b/lib/PublicInbox/DS.pm index 00b5dca7..217799bb 100644 --- a/lib/PublicInbox/DS.pm +++ b/lib/PublicInbox/DS.pm @@ -101,16 +101,17 @@ sub SetLoopTimeout { return $LoopTimeout = $_[1] + 0; } -=head2 C<< CLASS->AddTimer( $seconds, $coderef ) >> +=head2 C<< PublicInbox::DS::add_timer( $seconds, $coderef ) >> Add a timer to occur $seconds from now. $seconds may be fractional, but timers are not guaranteed to fire at the exact time you ask for. -Returns a timer object which you can call C<< $timer->cancel >> on if you need to. +Returns a timer object which you can call C<< $timer->cancel >> on if you need +to. =cut -sub AddTimer { - my ($class, $secs, $coderef) = @_; +sub add_timer ($$) { + my ($secs, $coderef) = @_; my $fire_time = now() + $secs; @@ -247,7 +248,7 @@ sub reap_pids { } if (@$WaitPids) { # we may not be donea, and we may miss our - $reap_timer = AddTimer(undef, 1, \&reap_pids); + $reap_timer = add_timer(1, \&reap_pids); } } @@ -653,7 +654,7 @@ sub _run_later () { sub later ($) { my ($cb) = @_; push @$later_queue, $cb; - $later_timer //= AddTimer(undef, 60, \&_run_later); + $later_timer //= add_timer(60, \&_run_later); } sub expire_old () { diff --git a/t/ds-leak.t b/t/ds-leak.t index 34ffc125..a4a56e0d 100644 --- a/t/ds-leak.t +++ b/t/ds-leak.t @@ -20,7 +20,7 @@ if ('close-on-exec for epoll and kqueue') { my ($r, $w); pipe($r, $w) or die "pipe: $!"; - PublicInbox::DS->AddTimer(0, sub { $pid = spawn([qw(sleep 10)]) }); + PublicInbox::DS::add_timer(0, sub { $pid = spawn([qw(sleep 10)]) }); PublicInbox::DS->EventLoop; ok($pid, 'subprocess spawned');