Subject: Re: mod_lisp question
From: rpw3@rpw3.org (Rob Warnock)
Date: Thu, 09 Mar 2006 03:44:03 -0600
Newsgroups: comp.lang.lisp
Message-ID: <3budnanKoPd-ZZLZnZ2dnUVZ_tCdnZ2d@speakeasy.net>
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