Forum Moderators: phranque
When the remote (client) socket connection is terminated the server doesn't really know, so has to assume that the client is just getting around to being ready to accept the response. It will wait in this state for the length of time specified by the SO_LINGER value specified in the application or operating system, which I think is an overly generous 600 seconds by default. So if you wait 5 minutes, I bet the child httpd will go away.
I'm not exactly sure where or how, but I think you can specify the value for SO_LINGER using set_sockopt.
But maybe you just don't need to worry about it -- if your page is fast enough, few users will have time to cancel and the few spare httpd children sitting around waiting are doing no harm and will go away after a while.