Two small fixes to maxclients handling.

1) Don't accept maxclients set to < 0
2) Allow maxclients < 1024, it is useful for testing.
This commit is contained in:
antirez 2012-04-18 11:31:24 +02:00
parent 6a3f0ac68a
commit a5f8341245
2 changed files with 3 additions and 1 deletions

View File

@ -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) {

View File

@ -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));