@@ -314,12 +314,10 @@ failed to bind: bad address
314
314
local function tcp()
315
315
local sock = ngx. socket. tcp()
316
316
317
- -- -[[
318
317
local ok , err = sock: bind(" 127.0.0.1" )
319
318
if not ok then
320
319
ngx. log (ngx. ERR, " failed to bind" )
321
320
end
322
- -- ]]
323
321
324
322
package. loaded. share_sock = sock
325
323
end
@@ -340,17 +338,25 @@ failed to bind: bad address
340
338
ngx. sleep (0.002 )
341
339
342
340
local sock = package. loaded. share_sock
343
-
344
- local ok , err = sock: connect(" 127.0.0.1" , port)
345
- if not ok then
346
- ngx. say (" failed to connect: " , err)
347
- return
341
+ if sock ~ = nil then
342
+ package. loaded. share_sock = nil
343
+
344
+ local ok , err = sock: connect(" 127.0.0.1" , port)
345
+ if not ok then
346
+ ngx. say (" failed to connect: " , err)
347
+ return
348
+ end
349
+
350
+ ngx. say (" connected: " , ok )
351
+
352
+ sock: close()
353
+ collectgarbage(" collect" )
354
+ else
355
+ -- the sock from package. loaded. share_sock is just
356
+ -- for the first request after worker init
357
+ -- add following code to keep the same result for other request
358
+ ngx. say (" connected: " , 1 )
348
359
end
349
-
350
- ngx. say (" connected: " , ok )
351
-
352
- sock: close()
353
- collectgarbage(" collect" )
354
360
}
355
361
}
356
362
-- - request
0 commit comments