dovecot: restrict_raise_fd_limit() fixes

dovecot at dovecot.org dovecot at dovecot.org
Fri Aug 24 20:55:05 EEST 2007


details:   http://hg.dovecot.org/dovecot/rev/5ebf96e37a39
changeset: 6315:5ebf96e37a39
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Aug 24 20:55:01 2007 +0300
description:
restrict_raise_fd_limit() fixes

diffstat:

1 file changed, 4 insertions(+), 3 deletions(-)
src/lib/restrict-process-size.c |    7 ++++---

diffs (24 lines):

diff -r c6d6ce742a82 -r 5ebf96e37a39 src/lib/restrict-process-size.c
--- a/src/lib/restrict-process-size.c	Fri Aug 24 20:50:44 2007 +0300
+++ b/src/lib/restrict-process-size.c	Fri Aug 24 20:55:01 2007 +0300
@@ -61,16 +61,17 @@ bool restrict_raise_fd_limit(unsigned in
 
 	if (getrlimit(RLIMIT_NOFILE, &rlim) < 0)
 		return FALSE;
+	if (rlim.rlim_cur >= count)
+		return TRUE;
 
-	if (rlim.rlim_cur < count)
-		new_rlim.rlim_cur = new_rlim.rlim_max = count;
+	new_rlim.rlim_cur = new_rlim.rlim_max = count;
 	if (setrlimit(RLIMIT_NOFILE, &new_rlim) == 0)
 		return TRUE;
 
 	/* raise as high as we can */
 	if (rlim.rlim_cur < rlim.rlim_max) {
 		rlim.rlim_cur = rlim.rlim_max;
-		(void)setrlimit(RLIMIT_NOFILE, &new_rlim);
+		(void)setrlimit(RLIMIT_NOFILE, &rlim);
 	}
 #endif
 	return FALSE;


More information about the dovecot-cvs mailing list