From 1c52f49354aa83e71fcceccae888da0c77f2391d Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 1 Oct 2021 09:54:41 +0000 Subject: ds: simplify signalfd use Since signalfd is often combined with our event loop, give it a convenient API and reduce the code duplication required to use it. EventLoop is replaced with ::event_loop to allow consistent parameter passing and avoid needlessly passing the package name on stack. We also avoid exporting SFD_NONBLOCK since it's the only flag we support. There's no sense in having the memory overhead of a constant function when it's in cold code. --- xt/mem-imapd-tls.t | 6 +++--- xt/net_writer-imap.t | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'xt') diff --git a/xt/mem-imapd-tls.t b/xt/mem-imapd-tls.t index bd75ef45..8992a6fc 100644 --- a/xt/mem-imapd-tls.t +++ b/xt/mem-imapd-tls.t @@ -95,7 +95,7 @@ foreach my $n (1..$nfd) { # one step through the event loop # do a little work as we connect: - PublicInbox::DS->EventLoop; + PublicInbox::DS::event_loop(); # try not to overflow the listen() backlog: if (!($n % 128) && $DONE != $n) { @@ -104,7 +104,7 @@ foreach my $n (1..$nfd) { PublicInbox::DS->SetPostLoopCallback(sub { $DONE != $n }); # clear the backlog: - PublicInbox::DS->EventLoop; + PublicInbox::DS::event_loop(); # resume looping PublicInbox::DS->SetLoopTimeout(0); @@ -117,7 +117,7 @@ diag "done?: @".time." $DONE/$nfd"; if ($DONE != $nfd) { PublicInbox::DS->SetLoopTimeout(-1); PublicInbox::DS->SetPostLoopCallback(sub { $DONE != $nfd }); - PublicInbox::DS->EventLoop; + PublicInbox::DS::event_loop(); } is($nfd, $DONE, "$nfd/$DONE done"); if ($^O eq 'linux' && open(my $f, '<', "/proc/$pid/status")) { diff --git a/xt/net_writer-imap.t b/xt/net_writer-imap.t index 41438cf7..cb2ea61f 100644 --- a/xt/net_writer-imap.t +++ b/xt/net_writer-imap.t @@ -228,7 +228,7 @@ EOM $pub_cfg->each_inbox(sub { $_[0]->subscribe_unlock('ident', $obj) }); my $w = start_script(['-watch'], undef, { 2 => $err_wr }); diag 'waiting for initial fetch...'; - PublicInbox::DS->EventLoop; + PublicInbox::DS::event_loop(); my $ibx = $pub_cfg->lookup_name('wtest'); my $mm = $ibx->mm; ok(defined($mm->num_for('Seen@test.example.com')), -- cgit v1.2.3-24-ge0c7