]> andersk Git - openssh.git/blobdiff - ssh-keyscan.c
20001227
[openssh.git] / ssh-keyscan.c
index d85cc337fb141fa2a3cb0e4cd6b2937853d2638b..41bd733ce3b855dc051c40060b813b87d16eb9f9 100644 (file)
@@ -183,6 +183,7 @@ getline(Linebuf * lb)
 static int
 fdlim_get(int hard)
 {
+#if defined(HAVE_GETRLIMIT)
        struct rlimit rlfd;
        if (getrlimit(RLIMIT_NOFILE, &rlfd) < 0)
                return (-1);
@@ -190,19 +191,30 @@ fdlim_get(int hard)
                return 10000;
        else
                return hard ? rlfd.rlim_max : rlfd.rlim_cur;
+#elif defined (HAVE_SYSCONF)
+       return sysconf (_SC_OPEN_MAX);
+#else
+       return 10000;
+#endif
 }
 
 static int
 fdlim_set(int lim)
 {
+#if defined(HAVE_SETRLIMIT)
        struct rlimit rlfd;
+#endif
        if (lim <= 0)
                return (-1);
+#if defined(HAVE_SETRLIMIT)
        if (getrlimit(RLIMIT_NOFILE, &rlfd) < 0)
                return (-1);
        rlfd.rlim_cur = lim;
        if (setrlimit(RLIMIT_NOFILE, &rlfd) < 0)
                return (-1);
+#elif defined (HAVE_SETDTABLESIZE)
+       setdtablesize (lim);
+#endif
        return (0);
 }
 
This page took 0.15982 seconds and 4 git commands to generate.