about summary refs log tree commit homepage
path: root/lib/PublicInbox/Search.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/Search.pm')
-rw-r--r--lib/PublicInbox/Search.pm16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm
index e5c5d6ab..25ef49c5 100644
--- a/lib/PublicInbox/Search.pm
+++ b/lib/PublicInbox/Search.pm
@@ -54,6 +54,9 @@ use constant {
         #
         #      v1.6.0 adds BYTES, UID and THREADID values
         SCHEMA_VERSION => 15,
+
+        # we may have up to 8 FDs per shard (depends on Xapian *shrug*)
+        SHARD_COST => 8,
 };
 
 use PublicInbox::Smsg;
@@ -729,4 +732,17 @@ sub get_doc ($$) {
         }
 }
 
+# not sure where best to put this...
+sub ulimit_n () {
+        my $n;
+        if (eval { require BSD::Resource; 1 }) {
+                my $NOFILE = BSD::Resource::RLIMIT_NOFILE();
+                ($n, undef) = BSD::Resource::getrlimit($NOFILE);
+        } else {
+                require PublicInbox::Spawn;
+                $n = PublicInbox::Spawn::run_qx([qw(/bin/sh -c), 'ulimit -n']);
+        }
+        $n;
+}
+
 1;