In ngx_http_lingering_close_handler and ngx_http_discarded_request_body_handler, there's risk that r->lingering_time is smaller than ngx_time(), then comparing timer which is a unsigned value  with zero will never return true. This can cause long time connection for some kind of requests (For example, lingering_time is set smaller than lingering_timeout)