about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-07-01 21:06:15 +0000
committerEric Wong <e@yhbt.net>2020-07-02 20:36:17 +0000
commit97e77af0af2db3ce89b100ad4e1cfef7055870eb (patch)
treefef54d9f0662b9a4bb0697fb532ace6019048285
parent1bc3707e3e0983c9aed898980ec8acf6501813f7 (diff)
downloadpublic-inbox-97e77af0af2db3ce89b100ad4e1cfef7055870eb.tar.gz
Making the RLIMITS list a function doesn't allow constant
folding, so just make it an array accessible to other modules.
-rw-r--r--lib/PublicInbox/Qspawn.pm4
-rw-r--r--lib/PublicInbox/Spawn.pm4
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/PublicInbox/Qspawn.pm b/lib/PublicInbox/Qspawn.pm
index c09e8d2c..d395a10b 100644
--- a/lib/PublicInbox/Qspawn.pm
+++ b/lib/PublicInbox/Qspawn.pm
@@ -48,7 +48,7 @@ sub _do_spawn {
         my ($cmd, $cmd_env, $opt) = @{delete $self->{args}};
         my %o = %{$opt || {}};
         $self->{limiter} = $limiter;
-        foreach my $k (PublicInbox::Spawn::RLIMITS()) {
+        foreach my $k (@PublicInbox::Spawn::RLIMITS) {
                 if (defined(my $rlimit = $limiter->{$k})) {
                         $o{$k} = $rlimit;
                 }
@@ -358,7 +358,7 @@ sub new {
 
 sub setup_rlimit {
         my ($self, $name, $config) = @_;
-        foreach my $rlim (PublicInbox::Spawn::RLIMITS()) {
+        foreach my $rlim (@PublicInbox::Spawn::RLIMITS) {
                 my $k = lc($rlim);
                 $k =~ tr/_//d;
                 $k = "publicinboxlimiter.$name.$k";
diff --git a/lib/PublicInbox/Spawn.pm b/lib/PublicInbox/Spawn.pm
index f90d8f6d..ba6e7367 100644
--- a/lib/PublicInbox/Spawn.pm
+++ b/lib/PublicInbox/Spawn.pm
@@ -18,7 +18,7 @@ use base qw(Exporter);
 use Symbol qw(gensym);
 use PublicInbox::ProcessPipe;
 our @EXPORT_OK = qw/which spawn popen_rd/;
-sub RLIMITS () { qw(RLIMIT_CPU RLIMIT_CORE RLIMIT_DATA) }
+our @RLIMITS = qw(RLIMIT_CPU RLIMIT_CORE RLIMIT_DATA);
 
 my $vfork_spawn = <<'VFORK_SPAWN';
 #include <sys/types.h>
@@ -209,7 +209,7 @@ sub spawn ($;$$) {
         }
         my $rlim = [];
 
-        foreach my $l (RLIMITS()) {
+        foreach my $l (@RLIMITS) {
                 defined(my $v = $opts->{$l}) or next;
                 my $r = eval "require BSD::Resource; BSD::Resource::$l();";
                 unless (defined $r) {