diff options
author | Eric Wong <e@80x24.org> | 2019-03-11 23:53:02 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-04-04 09:13:58 +0000 |
commit | 89be7a1b89a60446fc0a385c5c1cfaeec2f92c88 (patch) | |
tree | 529a58f8cf4a2c3e119e71a494bae38e1646c8f4 /lib/PublicInbox/Spawn.pm | |
parent | 411dc580077c5240e9cfd4808c06623345435b69 (diff) | |
download | public-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.pm | 3 |
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)) { |