Blame SOURCES/autofs-5.0.7-use-ulimit-max-open-files-if-greater-than-internal-maximum.patch

306fa1
autofs-5.0.7 - use ulimit max open files if greater than internal maximum
306fa1
306fa1
From: Ian Kent <raven@themaw.net>
306fa1
306fa1
When setting the maximum number of allowed file handles the current setting
306fa1
should be checked before setting it. If the ulimit command has been used to
306fa1
increase the maximum to larger than what automount would ask for then honour
306fa1
it.
306fa1
---
306fa1
 daemon/automount.c |    7 +++++--
306fa1
 1 file changed, 5 insertions(+), 2 deletions(-)
306fa1
306fa1
diff --git a/daemon/automount.c b/daemon/automount.c
306fa1
index 019637f..1d0b64e 100644
306fa1
--- a/daemon/automount.c
306fa1
+++ b/daemon/automount.c
306fa1
@@ -2106,8 +2106,11 @@ int main(int argc, char *argv[])
306fa1
 		exit(1);
306fa1
 	}
306fa1
 
306fa1
-	rlim.rlim_cur = MAX_OPEN_FILES;
306fa1
-	rlim.rlim_max = MAX_OPEN_FILES;
306fa1
+	res = getrlimit(RLIMIT_NOFILE, &rlim);
306fa1
+	if (res == -1 || rlim.rlim_max <= MAX_OPEN_FILES)  {
306fa1
+		rlim.rlim_cur = MAX_OPEN_FILES;
306fa1
+		rlim.rlim_max = MAX_OPEN_FILES;
306fa1
+	}
306fa1
 	res = setrlimit(RLIMIT_NOFILE, &rlim);
306fa1
 	if (res)
306fa1
 		printf("%s: can't increase open file limit - continuing",