diff options
author | Eric Wong <e@80x24.org> | 2023-12-28 04:23:00 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2023-12-29 16:56:08 +0000 |
commit | cf977e706b07e80f394570a393eb2169b9b9a1a7 (patch) | |
tree | caa1a8a4cad1ec89e59658fc088a3b5054dbf58a /lib/PublicInbox/In3Watch.pm | |
parent | 84874a852c80e3d4eb96af14c017b37424cdf840 (diff) | |
download | public-inbox-cf977e706b07e80f394570a393eb2169b9b9a1a7.tar.gz |
This is a step towards improving the out-of-the-box experience in achieving notifications without XS, extra downloads, and .so loading + runtime mmap overhead. This also fixes loongarch support of all Linux syscalls due to a bad regexp :x All the reachable Linux architectures listed at <https://portal.cfarm.net/machines/list/> should be supported. At the moment, there appears to be no reachable sparc* Linux machines available to cfarm users. Fixes: b0e5093aa3572a86 (syscall: add support for riscv64, 2022-08-11)
Diffstat (limited to 'lib/PublicInbox/In3Watch.pm')
-rw-r--r-- | lib/PublicInbox/In3Watch.pm | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/PublicInbox/In3Watch.pm b/lib/PublicInbox/In3Watch.pm new file mode 100644 index 00000000..bdb91869 --- /dev/null +++ b/lib/PublicInbox/In3Watch.pm @@ -0,0 +1,20 @@ +# Copyright (C) all contributors <meta@public-inbox.org> +# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> + +# duck-type compatible with Linux::Inotify2::Watch for pure Perl +# PublicInbox::Inotify3 for our needs, only +package PublicInbox::In3Watch; +use v5.12; + +sub mask { $_[0]->[1] } +sub name { $_[0]->[2] } + +sub cancel { + my ($self) = @_; + my ($wd, $in3) = @$self[0, 3]; + $in3 or return 1; # already canceled + pop @$self; + $in3->rm_watch($wd); +} + +1; |