11diff --git src/ngx_http_lua_balancer.c src/ngx_http_lua_balancer.c
2- index ae0f1380..02612ea1 100644
2+ index ae0f1380..acabab11 100644
33--- src/ngx_http_lua_balancer.c
44+++ src/ngx_http_lua_balancer.c
55@@ -31,10 +31,39 @@ typedef struct {
@@ -252,7 +252,15 @@ index ae0f1380..02612ea1 100644
252252 }
253253
254254 return NGX_OK;
255- @@ -592,14 +676,16 @@ ngx_http_lua_balancer_free_peer(ngx_peer_connection_t *pc, void *data,
255+ @@ -584,6 +668,7 @@ ngx_http_lua_balancer_free_peer(ngx_peer_connection_t *pc, void *data,
256+ ngx_http_upstream_t *u;
257+ ngx_http_lua_balancer_ka_item_t *item;
258+ ngx_http_lua_balancer_peer_data_t *bp = data;
259+ + ngx_http_lua_balancer_keepalive_pool_t *cpool;
260+ ngx_http_lua_srv_conf_t *lscf = bp->conf;
261+
262+ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0,
263+ @@ -592,14 +677,16 @@ ngx_http_lua_balancer_free_peer(ngx_peer_connection_t *pc, void *data,
256264 u = bp->request->upstream;
257265 c = pc->connection;
258266
@@ -271,7 +279,7 @@ index ae0f1380..02612ea1 100644
271279 if (state & NGX_PEER_FAILED
272280 || c == NULL
273281 || c->read->eof
274- @@ -633,42 +719 ,41 @@ ngx_http_lua_balancer_free_peer(ngx_peer_connection_t *pc, void *data,
282+ @@ -633,42 +720 ,41 @@ ngx_http_lua_balancer_free_peer(ngx_peer_connection_t *pc, void *data,
275283 goto invalid;
276284 }
277285
@@ -333,7 +341,7 @@ index ae0f1380..02612ea1 100644
333341
334342 if (c->write->timer_set) {
335343 ngx_del_timer(c->write);
336- @@ -684,42 +769 ,6 @@ ngx_http_lua_balancer_free_peer(ngx_peer_connection_t *pc, void *data,
344+ @@ -684,42 +770 ,6 @@ ngx_http_lua_balancer_free_peer(ngx_peer_connection_t *pc, void *data,
337345 c->write->log = ngx_cycle->log;
338346 c->pool->log = ngx_cycle->log;
339347
@@ -376,7 +384,7 @@ index ae0f1380..02612ea1 100644
376384 if (c->read->ready) {
377385 ngx_http_lua_balancer_close_handler(c->read);
378386 }
379- @@ -728,9 +777 ,16 @@ ngx_http_lua_balancer_free_peer(ngx_peer_connection_t *pc, void *data,
387+ @@ -728,9 +778 ,16 @@ ngx_http_lua_balancer_free_peer(ngx_peer_connection_t *pc, void *data,
380388
381389 invalid:
382390
@@ -396,7 +404,7 @@ index ae0f1380..02612ea1 100644
396404 }
397405
398406 return;
399- @@ -740,6 +796 ,123 @@ invalid:
407+ @@ -740,6 +797 ,123 @@ invalid:
400408 }
401409
402410
@@ -520,7 +528,7 @@ index ae0f1380..02612ea1 100644
520528 static void
521529 ngx_http_lua_balancer_notify_peer(ngx_peer_connection_t *pc, void *data,
522530 ngx_uint_t type)
523- @@ -755,6 +928 ,10 @@ ngx_http_lua_balancer_notify_peer(ngx_peer_connection_t *pc, void *data,
531+ @@ -755,6 +929 ,10 @@ ngx_http_lua_balancer_notify_peer(ngx_peer_connection_t *pc, void *data,
524532 static void
525533 ngx_http_lua_balancer_close(ngx_connection_t *c)
526534 {
@@ -531,7 +539,7 @@ index ae0f1380..02612ea1 100644
531539 #if (NGX_HTTP_SSL)
532540 if (c->ssl) {
533541 c->ssl->no_wait_shutdown = 1;
534- @@ -762,9 +939 ,6 @@ ngx_http_lua_balancer_close(ngx_connection_t *c)
542+ @@ -762,9 +940 ,6 @@ ngx_http_lua_balancer_close(ngx_connection_t *c)
535543
536544 if (ngx_ssl_shutdown(c) == NGX_AGAIN) {
537545 c->ssl->handler = ngx_http_lua_balancer_close;
@@ -541,7 +549,7 @@ index ae0f1380..02612ea1 100644
541549 return;
542550 }
543551 }
544- @@ -773,8 +947 ,12 @@ ngx_http_lua_balancer_close(ngx_connection_t *c)
552+ @@ -773,8 +948 ,12 @@ ngx_http_lua_balancer_close(ngx_connection_t *c)
545553 ngx_destroy_pool(c->pool);
546554 ngx_close_connection(c);
547555
@@ -556,7 +564,7 @@ index ae0f1380..02612ea1 100644
556564 }
557565
558566
559- @@ -820,8 +998 ,9 @@ close:
567+ @@ -820,8 +999 ,9 @@ close:
560568 ngx_http_lua_balancer_close(c);
561569
562570 ngx_queue_remove(&item->queue);
@@ -568,7 +576,7 @@ index ae0f1380..02612ea1 100644
568576 }
569577
570578
571- @@ -832,7 +1011 ,7 @@ ngx_http_lua_balancer_set_session(ngx_peer_connection_t *pc, void *data)
579+ @@ -832,7 +1012 ,7 @@ ngx_http_lua_balancer_set_session(ngx_peer_connection_t *pc, void *data)
572580 {
573581 ngx_http_lua_balancer_peer_data_t *bp = data;
574582
@@ -577,7 +585,7 @@ index ae0f1380..02612ea1 100644
577585 /* TODO */
578586 return NGX_OK;
579587 }
580- @@ -846,7 +1025 ,7 @@ ngx_http_lua_balancer_save_session(ngx_peer_connection_t *pc, void *data)
588+ @@ -846,7 +1026 ,7 @@ ngx_http_lua_balancer_save_session(ngx_peer_connection_t *pc, void *data)
581589 {
582590 ngx_http_lua_balancer_peer_data_t *bp = data;
583591
@@ -586,7 +594,7 @@ index ae0f1380..02612ea1 100644
586594 /* TODO */
587595 return;
588596 }
589- @@ -860,8 +1039 ,8 @@ ngx_http_lua_balancer_save_session(ngx_peer_connection_t *pc, void *data)
597+ @@ -860,8 +1040 ,8 @@ ngx_http_lua_balancer_save_session(ngx_peer_connection_t *pc, void *data)
590598 int
591599 ngx_http_lua_ffi_balancer_set_current_peer(ngx_http_request_t *r,
592600 const u_char *addr, size_t addr_len, int port,
@@ -597,7 +605,7 @@ index ae0f1380..02612ea1 100644
597605 {
598606 ngx_url_t url;
599607 ngx_http_lua_ctx_t *ctx;
600- @@ -927,25 +1106 ,8 @@ ngx_http_lua_ffi_balancer_set_current_peer(ngx_http_request_t *r,
608+ @@ -927,25 +1107 ,8 @@ ngx_http_lua_ffi_balancer_set_current_peer(ngx_http_request_t *r,
601609 return NGX_ERROR;
602610 }
603611
@@ -625,7 +633,7 @@ index ae0f1380..02612ea1 100644
625633
626634 return NGX_OK;
627635 }
628- @@ -1050,11 +1212 ,15 @@ ngx_http_lua_ffi_balancer_enable_keepalive(ngx_http_request_t *r,
636+ @@ -1050,11 +1213 ,15 @@ ngx_http_lua_ffi_balancer_enable_keepalive(ngx_http_request_t *r,
629637
630638 bp = (ngx_http_lua_balancer_peer_data_t *) u->peer.data;
631639
0 commit comments