diff options
author | Eric Wong <e@80x24.org> | 2021-05-28 09:45:20 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-05-28 18:28:05 +0000 |
commit | 74b5dc0569db5adb4cc931ce3c3b1b50507eb31d (patch) | |
tree | 517e3e6e920e73dcdd942e3df34bf958bc104d83 /lib/PublicInbox/LeiXSearch.pm | |
parent | 6778614fc11224b6b472a3830543c0f6635193f8 (diff) | |
download | public-inbox-74b5dc0569db5adb4cc931ce3c3b1b50507eb31d.tar.gz |
Every tick of the event loop can change the working directory, so we need to restore it for every client if they operate in different directories. This would be easier if we had openat(2) and friends in Perl; but Inline::C is practically required for lei, now.
Diffstat (limited to 'lib/PublicInbox/LeiXSearch.pm')
-rw-r--r-- | lib/PublicInbox/LeiXSearch.pm | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/PublicInbox/LeiXSearch.pm b/lib/PublicInbox/LeiXSearch.pm index e2a8e8e3..760f9718 100644 --- a/lib/PublicInbox/LeiXSearch.pm +++ b/lib/PublicInbox/LeiXSearch.pm @@ -394,6 +394,7 @@ Error closing $lei->{ovv}->{dst}: $! sub do_post_augment { my ($lei) = @_; my $l2m = $lei->{l2m} or return; # client disconnected + $lei->fchdir or return; my $err; eval { $l2m->post_augment($lei) }; $err = $@; |