[Openmcl-devel] Faceless Background Server Behavior
Hamilton Link
helink at sandia.gov
Wed Jan 8 09:45:45 PST 2003
Sorry, that last one should have had a reply on it.
Anyway, what I suspect is happening is something like:
- Lisp starts
- The initial process evaluates the spawn-tiny-server function,
spinning off another thread
- The initial process, finding itself with nothing left to do,
terminates
- The app terminates, because it's dependent upon the initial process
hamilton
On Wednesday, January 8, 2003, at 03:16 AM, Sven Van Caekenberghe wrote:
> I was trying to turn OpenMCL into a faceless background server. Given
> this code (in the file tiny-server.lisp):
>
> (defun tiny-server ()
> (with-open-socket (server-socket :connect :passive
> :local-port 1701
> :reuse-address t)
> (loop
> (let* ((client-socket (accept-connection server-socket))
> (in (read client-socket))
> (out (expt in in)))
> (format client-socket "~d~%" out)
> (finish-output client-socket)
> (close client-socket)))))
>
> (defun spawn-tiny-server ()
> (process-run-function "tiny-server" #'tiny-server))
>
> I can run the (single threader) server like this:
>
> openmcl -l tiny-server -e '(tiny-server)'
>
> Using telnet locahost 1701, typing a number and return, the server
> responds with the result of evaluating (expt number number) and then
> disconnects. To turn this server into a faceless background server, I
> can do this:
>
> nohup openmcl -l tiny-server -e '(tiny-server)' &
>
> and it works (and keeps on working when I log out). This is the
> behavior I was looking for. However, when I use the second function,
> like this:
>
> nohup openmcl -l tiny-server -e '(spawn-tiny-server)' &
>
> The server works for a small amount of time (a couple of requests) and
> then stops working. This is what puzzeled me the first time I tried to
> put my XML-RPC server in the background.
>
> I have the impression that the interactive listener process is not
> happy about being put in background (although I am not sure how that
> could affect the interactive streams since they are not really used).
> Is this behavior intentional ?
>
> Sven
>
> --
> Sven Van Caekenberghe - mailto:sven at beta9.be
> Beta Nine - software engineering - http://www.beta9.be
> .Mac - svc at mac.com - http://homepage.mac.com/svc
>
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/cgi-bin/mailman/listinfo/openmcl-devel
>
_______________________________________________
Openmcl-devel mailing list
Openmcl-devel at clozure.com
http://clozure.com/cgi-bin/mailman/listinfo/openmcl-devel
More information about the Openmcl-devel
mailing list