about summary refs log tree commit homepage
path: root/lib/PublicInbox/Spawn.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-03-11 23:53:02 +0000
committerEric Wong <e@80x24.org>2019-04-04 09:13:58 +0000
commit89be7a1b89a60446fc0a385c5c1cfaeec2f92c88 (patch)
tree529a58f8cf4a2c3e119e71a494bae38e1646c8f4 /lib/PublicInbox/Spawn.pm
parent411dc580077c5240e9cfd4808c06623345435b69 (diff)
downloadpublic-inbox-89be7a1b89a60446fc0a385c5c1cfaeec2f92c88.tar.gz
This allows users to configure RLIMIT_{CORE,CPU,DATA} using
our "limiter" config directive when spawning external processes.
Diffstat (limited to 'lib/PublicInbox/Spawn.pm')
-rw-r--r--lib/PublicInbox/Spawn.pm3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/PublicInbox/Spawn.pm b/lib/PublicInbox/Spawn.pm
index 202cfcae..fd981608 100644
--- a/lib/PublicInbox/Spawn.pm
+++ b/lib/PublicInbox/Spawn.pm
@@ -18,6 +18,7 @@ use Symbol qw(gensym);
 use IO::Handle;
 use PublicInbox::ProcessPipe;
 our @EXPORT_OK = qw/which spawn popen_rd/;
+sub RLIMITS () { qw(RLIMIT_CPU RLIMIT_CORE RLIMIT_DATA) }
 
 my $vfork_spawn = <<'VFORK_SPAWN';
 #include <sys/types.h>
@@ -202,7 +203,7 @@ sub spawn ($;$$) {
         my $err = $opts->{2} || 2;
         my $rlim = [];
 
-        foreach my $l (qw(RLIMIT_CPU RLIMIT_CORE RLIMIT_DATA)) {
+        foreach my $l (RLIMITS()) {
                 defined(my $v = $opts->{$l}) or next;
                 my ($soft, $hard);
                 if (ref($v)) {