Browse Source

fix sysconf for infinite rlimits

sysconf should return -1 for infinity, not LONG_MAX.
Natanael Copa 7 years ago
parent
commit
3ec82877e7
1 changed files with 2 additions and 0 deletions
  1. 2 0
      src/conf/sysconf.c

+ 2 - 0
src/conf/sysconf.c

@@ -174,6 +174,8 @@ long sysconf(int name)
 	} else if (values[name] < -256) {
 		struct rlimit lim;
 		getrlimit(values[name]&16383, &lim);
+		if (lim.rlim_cur == RLIM_INFINITY)
+			return -1;
 		return lim.rlim_cur > LONG_MAX ? LONG_MAX : lim.rlim_cur;
 	}