فهرست منبع

decreased thread idle time to 5 seconds. exiting worker thread if stop flag is raised.

valenok 15 سال پیش
والد
کامیت
4cf7851996
1فایلهای تغییر یافته به همراه2 افزوده شده و 2 حذف شده
  1. 2 2
      mongoose.c

+ 2 - 2
mongoose.c

@@ -3576,7 +3576,7 @@ static bool_t get_socket(struct mg_context *ctx, struct socket *sp) {
   ctx->num_idle++;
   while (ctx->sq_head == ctx->sq_tail) {
     ts.tv_nsec = 0;
-    ts.tv_sec = time(NULL) + 10;
+    ts.tv_sec = time(NULL) + 5;
     if (pthread_cond_timedwait(&ctx->empty_cond, &ctx->mutex, &ts) != 0) {
       // Timeout! release the mutex and return
       (void) pthread_mutex_unlock(&ctx->mutex);
@@ -3615,7 +3615,7 @@ static void worker_thread(struct mg_context *ctx) {
 
   (void) memset(&conn, 0, sizeof(conn));
 
-  while (get_socket(ctx, &conn.client) == TRUE) {
+  while (ctx->stop_flag == 0 && get_socket(ctx, &conn.client) == TRUE) {
     conn.birth_time = time(NULL);
     conn.ctx = ctx;