Dr. Thomas Fischbacher <tf@spamtrap-delete-this.cip.physik.uni-muenchen.de>
wrote:
+---------------
| Not infrequently, a web request returns an empty page. If I tcpdump the
| communication between apache and lisp, I see that a proper request is
| sent by mod_lisp to the lisp process, but this TCP packet causes
| a TCP RST reply. Lisp-wise, the incoming request is not noticed in any
| way, as it seems.
|
| My initial guess was that the *modlisp-socket* socket was closed on the
| lisp side while there's still data in the recv buffer, hence the RST.
| But strange enough, this behaviour (i.e. sending out RST replies)
| persists if I alien-funcall shutdown(2) in kmrcl:close-active-socket
| (which is used to shut down the modlisp socket).
+---------------
You might have some or all of your output page still buffered in
the Lisp stream, so make sure that your CL-MODLISP code is doing a
(FINISH-OUTPUT *MODLISP-SOCKET*) or at least (FORCE-OUTPUT *MODLISP-SOCKET*)
before calling the "shutdown(2)".
I ran into this problem early when developin my web-app framework,
too, and adding a FORCE-OUTPUT at the end of each response page
fixed it.
-Rob
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607