diff --git a/doc/latex/httpd.tex b/doc/latex/httpd.tex index dca970f..5459fc8 100644 --- a/doc/latex/httpd.tex +++ b/doc/latex/httpd.tex @@ -74,18 +74,16 @@ one argument, a \ex{httpd\=options}-record: \begin{desc} This procedure starts the server. The various \semvar{options} can be set via the options transformers that are explained below. - + The server's basic loop is to wait on the port for a connection from an HTTP client. When it receives a connection, it reads in and parses the request into a special request data structure. Then the - server \FIXME{Does the server still fork or does it make a thread. Is - this a difference? (Do not know)} forks a child process, who binds - the current I/O ports to the connection socket, and then hands off - to the top-level \semvar{path-handler} (the first argument to - httpd). The \semvar{path-handler} procedure is responsible for - actually serving the request -- it can be any arbitrary computation. - Its output goes directly back to the HTTP client that sent the - request. + server forks a thread, who binds the current I/O ports to the + connection socket, and then hands off to the top-level + \semvar{path-handler} (the first argument to httpd). The + \semvar{path-handler} procedure is responsible for actually serving + the request -- it can be any arbitrary computation. Its output goes + directly back to the HTTP client that sent the request. Before calling the path handler to service the request, the HTTP server installs an error handler that fields any uncaught error,