Description
The con could be closed if hyper emergency occur on check_emergency_throttle().
But we did not check the con.fd while we get return from check_emergency_throttle().
For hyper emergency:
- The socket fd is removed from epoll while it is closed.
- A NetVC with a closed socket fd is created and callback NET_EVENT_OPEN to SM.
Thus:
- The NetVC will never triggered by NetHandler.
- Only InactivityCop could handle the NetVC and the default timeout value is 86400 secs.
For the counter: net_connections_currently_open_stat
- It is increased in “connect_re_internal()”
- It isn't decreased while the con.fd set to NO_FD due to hyper emergency
- Because it is decreased in close_UnixNetVConnection() only con.fd != NO_FD. (
TS-4178)