From: antirez Date: Wed, 18 Apr 2012 09:31:24 +0000 (+0200) Subject: Two small fixes to maxclients handling. X-Git-Url: https://git.saurik.com/redis.git/commitdiff_plain/a5f8341245aeebd22a2474e92c4ed497eae01545?ds=inline Two small fixes to maxclients handling. 1) Don't accept maxclients set to < 0 2) Allow maxclients < 1024, it is useful for testing. --- diff --git a/src/config.c b/src/config.c index 9899dfbc..6f98e5e5 100644 --- a/src/config.c +++ b/src/config.c @@ -155,6 +155,9 @@ void loadServerConfigFromString(char *config) { loadServerConfig(argv[1],NULL); } else if (!strcasecmp(argv[0],"maxclients") && argc == 2) { server.maxclients = atoi(argv[1]); + if (server.maxclients < 1) { + err = "Invalid max clients limit"; goto loaderr; + } } else if (!strcasecmp(argv[0],"maxmemory") && argc == 2) { server.maxmemory = memtoll(argv[1],NULL); } else if (!strcasecmp(argv[0],"maxmemory-policy") && argc == 2) { diff --git a/src/redis.c b/src/redis.c index 7da9c545..2b1007b5 100644 --- a/src/redis.c +++ b/src/redis.c @@ -1153,7 +1153,6 @@ void adjustOpenFilesLimit(void) { rlim_t maxfiles = server.maxclients+32; struct rlimit limit; - if (maxfiles < 1024) maxfiles = 1024; if (getrlimit(RLIMIT_NOFILE,&limit) == -1) { redisLog(REDIS_WARNING,"Unable to obtain the current NOFILE limit (%s), assuming 1024 and setting the max clients configuration accordingly.", strerror(errno));