* [PATCH 03/21] ds: don't pass FD map to post_loop_do callback
2023-10-04 3:49 6% [PATCH 00/21] lei + IPC related stuff Eric Wong
@ 2023-10-04 3:49 7% ` Eric Wong
0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2023-10-04 3:49 UTC (permalink / raw)
To: meta
It's not used by any post_loop_do callbacks anymore, and the
underlying FD map is a global `our' variable accessible from
anywhere, anyways.
---
lib/PublicInbox/DS.pm | 4 +---
lib/PublicInbox/Daemon.pm | 1 -
lib/PublicInbox/IPC.pm | 4 ++--
lib/PublicInbox/LEI.pm | 1 -
4 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/lib/PublicInbox/DS.pm b/lib/PublicInbox/DS.pm
index ecfb581d..d8824a55 100644
--- a/lib/PublicInbox/DS.pm
+++ b/lib/PublicInbox/DS.pm
@@ -260,9 +260,7 @@ sub PostEventLoop () {
}
# by default we keep running, unless a postloop callback cancels it
- @post_loop_do ? $post_loop_do[0]->(\%DescriptorMap,
- @post_loop_do[1..$#post_loop_do])
- : 1
+ @post_loop_do ? $post_loop_do[0]->(@post_loop_do[1..$#post_loop_do]) : 1
}
sub sigset_prep ($$$) {
diff --git a/lib/PublicInbox/Daemon.pm b/lib/PublicInbox/Daemon.pm
index 5250610b..e5755981 100644
--- a/lib/PublicInbox/Daemon.pm
+++ b/lib/PublicInbox/Daemon.pm
@@ -363,7 +363,6 @@ sub worker_quit { # $_[0] = signal name or number (unused)
my $warn = 0;
# drop idle connections and try to quit gracefully
@PublicInbox::DS::post_loop_do = (sub {
- my ($dmap, undef) = @_;
my $now = now();
my $n = PublicInbox::DS::close_non_busy();
if ($n) {
diff --git a/lib/PublicInbox/IPC.pm b/lib/PublicInbox/IPC.pm
index 9388befd..9b4b1508 100644
--- a/lib/PublicInbox/IPC.pm
+++ b/lib/PublicInbox/IPC.pm
@@ -251,8 +251,8 @@ sub recv_and_run {
$n;
}
-sub sock_defined {
- my (undef, $wqw) = @_;
+sub sock_defined { # PublicInbox::DS::post_loop_do CB
+ my ($wqw) = @_;
defined($wqw->{sock});
}
diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm
index 977a94c6..afed84c1 100644
--- a/lib/PublicInbox/LEI.pm
+++ b/lib/PublicInbox/LEI.pm
@@ -1355,7 +1355,6 @@ sub lazy_start {
});
$dir_idle->add_watches([$sock_dir]);
local @PublicInbox::DS::post_loop_do = (sub {
- my ($dmap, undef) = @_;
if (@st = defined($path) ? stat($path) : ()) {
if ($dev_ino_expect ne pack('dd', $st[0], $st[1])) {
warn "$path dev/ino changed, quitting\n";
^ permalink raw reply related [relevance 7%]
* [PATCH 00/21] lei + IPC related stuff
@ 2023-10-04 3:49 6% Eric Wong
2023-10-04 3:49 7% ` [PATCH 03/21] ds: don't pass FD map to post_loop_do callback Eric Wong
0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2023-10-04 3:49 UTC (permalink / raw)
To: meta
More work coming to make internal IPC stuff simpler
and better layered for future enhancements
(FUSE, increase xap_helper usage internally, etc).
Eric Wong (21):
lei: drop stores explicitly at daemon shutdown
ds: hoist out close_non_busy
ds: don't pass FD map to post_loop_do callback
move all non-test @post_loop_do into named subs
lei: close DirIdle (inotify) early at daemon shutdown
input_pipe: {args} is never undefined
lei: do_env combines fchdir and local
lei: get rid of l2m_progress PktOp callback
t/lei_to_mail: modernize and document test
lei: reuse PublicInbox::Config::noop
lei: keep signals blocked on daemon shutdown
mbox_lock: retry on EINTR and use autodie
lock: retry on EINTR, improve error reporting
treewide: use PublicInbox::Lock->new
gcf2: use PublicInbox::Lock
spawn: use autodie and PublicInbox::Lock
xap_helper: retry flock on EINTR
XapHelper.pm: use EINTR-aware recv_cmd wrapper
spawn: drop checks for directory writability
lei: document and local-ize $OPT hashref
searchidx: fix redundant `in' in warning message
lib/PublicInbox/DS.pm | 17 +++--
lib/PublicInbox/Daemon.pm | 47 ++++++-------
lib/PublicInbox/DirIdle.pm | 12 +++-
lib/PublicInbox/Gcf2.pm | 8 ++-
lib/PublicInbox/IPC.pm | 4 +-
lib/PublicInbox/InputPipe.pm | 11 ++-
lib/PublicInbox/LEI.pm | 127 ++++++++++++++++------------------
lib/PublicInbox/LeiAuth.pm | 4 +-
lib/PublicInbox/LeiConfig.pm | 25 +++----
lib/PublicInbox/LeiConvert.pm | 7 +-
lib/PublicInbox/LeiInspect.pm | 28 ++++----
lib/PublicInbox/LeiLcat.pm | 17 +++--
lib/PublicInbox/LeiMirror.pm | 2 +-
lib/PublicInbox/LeiQuery.pm | 19 +++--
lib/PublicInbox/LeiTag.pm | 6 +-
lib/PublicInbox/LeiToMail.pm | 20 +++---
lib/PublicInbox/LeiXSearch.pm | 113 +++++++++++++-----------------
lib/PublicInbox/Lock.pm | 52 ++++++++------
lib/PublicInbox/MboxLock.pm | 49 ++++++-------
lib/PublicInbox/PktOp.pm | 15 ++--
lib/PublicInbox/SearchIdx.pm | 2 +-
lib/PublicInbox/Spawn.pm | 32 ++++-----
lib/PublicInbox/TestCommon.pm | 7 +-
lib/PublicInbox/Watch.pm | 4 +-
lib/PublicInbox/XapHelper.pm | 11 ++-
lib/PublicInbox/xap_helper.h | 6 +-
t/lei-tag.t | 3 +
t/lei_to_mail.t | 37 +++++-----
t/solver_git.t | 3 +-
t/v2mirror.t | 2 +-
30 files changed, 339 insertions(+), 351 deletions(-)
^ permalink raw reply [relevance 6%]
Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2023-10-04 3:49 6% [PATCH 00/21] lei + IPC related stuff Eric Wong
2023-10-04 3:49 7% ` [PATCH 03/21] ds: don't pass FD map to post_loop_do callback Eric Wong
Code repositories for project(s) associated with this public inbox
https://80x24.org/public-inbox.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).