Commit Briefs
bind_socket early
so that if it fails the user is promptly notified. This requires us to make sure that fds 0-2 are opened, so steal the same trick slowcgi have.
don't die for OOM
instead, drop the current connection (we can't do anything about it) and try to continue to work. OOM can be a temporary situation, and in every case it's not nice to terminate other in-flight connections. To do so, refactor the freeing of the connection into conn_free, which now also looks for the state of the timeout. In every case we reach conn_free the timeout is not pending, but it doesn't hurt to check for it anyway. Future changes may want to free early.
cast argument to is*()
otherwise there can be issues on arches with signed chars (as amd64)