make constants from maxfd values (#1300)

its good practice to use constants instead of (random) values.

Signed-off-by: Sven Nierlein <sven@nierlein.de>
This commit is contained in:
Sven Nierlein 2014-11-28 15:25:43 +01:00
parent 6bb5e1db52
commit 7660540c31

View file

@ -79,12 +79,14 @@ static pid_t *_cmd_pids = NULL;
* If that fails and the macro isn't defined, we fall back to an educated
* guess. There's no guarantee that our guess is adequate and the program
* will die with SIGSEGV if it isn't and the upper boundary is breached. */
#define DEFAULT_MAXFD 256 /* fallback value if no max open files value is set */
#define MAXFD_LIMIT 8192 /* upper limit of open files */
#ifdef _SC_OPEN_MAX
static long maxfd = 0;
#elif defined(OPEN_MAX)
# define maxfd OPEN_MAX
#else /* sysconf macro unavailable, so guess (may be wildly inaccurate) */
# define maxfd 256
# define maxfd DEFAULT_MAXFD
#endif
@ -112,7 +114,7 @@ cmd_init (void)
if (!maxfd && (maxfd = sysconf (_SC_OPEN_MAX)) < 0) {
/* possibly log or emit a warning here, since there's no
* guarantee that our guess at maxfd will be adequate */
maxfd = 256;
maxfd = DEFAULT_MAXFD;
}
#endif
@ -120,8 +122,8 @@ cmd_init (void)
* ( e.g. on SunOS, when ulimit is set to unlimited: 2147483647 this would cause
* a segfault when following calloc is called ... ) */
if ( maxfd > 2048 ) {
maxfd = 2048;
if ( maxfd > MAXFD_LIMIT ) {
maxfd = MAXFD_LIMIT;
}
if (!_cmd_pids)