As far as I can see it seems that there is no real graceful shutdown implemented for the Listeners.
After sending a SIGTERM/SIGINT, HFC is not waiting for all current web requests to be processed, right?
This results in several exceptions when stopping HFC, e.g. ThreadAbortExceptions, e.g. when ServiceStack is being used.
Would it be possible to implement this in general?:
- After receiving a SIGTERM/SIGINT, don't accept new incoming connections but answer with a dedicated http error code
- After receiving a SIGTERM/SIGINT, still process the currently active requests
- After all requests have been processed, finally shutdown the listener and exit the process.