Skip to content

Commit c729be3

Browse files
committed
fixed the bug: when nginx is reloaded, work_process cann't exit for long time
1 parent 24a2871 commit c729be3

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

src/ngx_stream_upsync_module.c

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -958,14 +958,14 @@ ngx_stream_upsync_diff_filter(ngx_cycle_t *cycle,
958958
sizeof(*add_upstream)) != NGX_OK)
959959
{
960960
ngx_log_error(NGX_LOG_ERR, cycle->log, 0,
961-
"upsync_diff_filter: alloc error");
961+
"upsync_diff_filter_add: alloc error");
962962
return;
963963
}
964964

965965
if (ngx_array_init(&ctx->del_upstream, ctx->pool, 16,
966966
sizeof(*del_upstream)) != NGX_OK) {
967967
ngx_log_error(NGX_LOG_ERR, cycle->log, 0,
968-
"upsync_diff_filter: alloc error");
968+
"upsync_diff_filter_del: alloc error");
969969
return;
970970
}
971971

@@ -3318,7 +3318,7 @@ ngx_stream_upsync_timeout_handler(ngx_event_t *event)
33183318
upsync_server = event->data;
33193319

33203320
ngx_log_error(NGX_LOG_ERR, event->log, 0,
3321-
"upsync_timeout: timed out reading upsync_server: %V ",
3321+
"[WARN] upsync_timeout: timed out reading upsync_server: %V ",
33223322
upsync_server->pc.name);
33233323

33243324
ngx_stream_upsync_clean_event(upsync_server);
@@ -3430,6 +3430,17 @@ ngx_stream_upsync_clear_all_events(ngx_cycle_t *cycle)
34303430
}
34313431
ngx_del_timer(&upsync_server[i].upsync_timeout_ev);
34323432
}
3433+
3434+
head = &upsync_server[i].delete_ev;
3435+
for (next = ngx_queue_head(head);
3436+
next != ngx_queue_sentinel(head);
3437+
next = ngx_queue_next(next)) {
3438+
3439+
queue_event = ngx_queue_data(next, ngx_delay_event_t, delay_delete_ev);
3440+
if (queue_event->delay_delete_ev.timer_set) {
3441+
ngx_del_timer(&queue_event->delay_delete_ev);
3442+
}
3443+
}
34333444
}
34343445

34353446
if (upsync_type_conf->upsync_type == NGX_STREAM_UPSYNC_CONSUL

0 commit comments

Comments
 (0)