diff --git a/mongoose.c b/mongoose.c index e6e07dc78e0465fdaf399be55150dd7b6b6025e5..8515108ffc5bcc3063f190957f4ef44abf04448a 100644 --- a/mongoose.c +++ b/mongoose.c @@ -1397,8 +1397,11 @@ int mg_start_thread(mg_thread_func_t func, void *param) { (void) pthread_attr_init(&attr); (void) pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - // TODO(lsm): figure out why mongoose dies on Linux if next line is enabled - // (void) pthread_attr_setstacksize(&attr, sizeof(struct mg_connection) * 5); + +#if USE_STACK_SIZE > 1 + // Compile-time option to control stack size, e.g. -DUSE_STACK_SIZE=16384 + (void) pthread_attr_setstacksize(&attr, USE_STACK_SIZE); +#endif result = pthread_create(&thread_id, &attr, func, param); pthread_attr_destroy(&attr);