diff --git a/skynet-src/skynet_main.c b/skynet-src/skynet_main.c index 5cbcc7e9..dc3d34e4 100644 --- a/skynet-src/skynet_main.c +++ b/skynet-src/skynet_main.c @@ -13,6 +13,10 @@ #include #include +#ifndef SKYNET_MAXTHREAD +#define SKYNET_MAXTHREAD 1024 +#endif + static int optint(const char *key, int opt) { const char * str = skynet_getenv(key); @@ -154,6 +158,10 @@ main(int argc, char *argv[]) { lua_close(L); config.thread = optint("thread",8); + if (config.thread < 1 || config.thread > SKYNET_MAXTHREAD) { + fprintf(stderr, "Invalid thread %d , should be in [1,%d]\n", config.thread, SKYNET_MAXTHREAD); + return 1; + } config.module_path = optstring("cpath","./cservice/?.so"); config.harbor = optint("harbor", 1); config.bootstrap = optstring("bootstrap","snlua bootstrap");