chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Spiffy subprocess cleanup


From: Bryan Vicknair
Subject: Re: [Chicken-users] Spiffy subprocess cleanup
Date: Thu, 23 May 2013 08:57:09 -0700
User-agent: Mutt/1.5.21 (2010-09-15)

On Thu, May 23, 2013 at 09:14:25AM +0200, Peter Bex wrote:
> On Wed, May 22, 2013 at 10:29:03PM -0700, Evan Hanson wrote:
> > After looking at a bit more, here's what I believe is *actually*
> > happening:
> > 
> > The invalid call to process* is signaling an exception in the child,
> > which is handled internally by spiffy (spiffy.scm:470), causing that
> > process to loop back to the start of the accept-next-connection
> > procedure inside spiffy's accept-loop. At this point you have two
> > processes listening on 8080, with the parent waiting for the child (who
> > has no plans to exit). The same thing happens with each request, so the
> > subprocesses pile up.
> 
> Thanks for the excellent debugging work.  I think process-fork really
> needs to catch exceptions and exit instead of simply exiting if the
> thunk returns normally.  Will post a patch later, unless someone beats
> me to it.
> 
> Cheers,
> Peter

Thanks a lot Evan and Peter.  That was very helpful.

I started looking at the process-fork source to write a patch, but I'm not
familiar enough with chicken-core yet to tackle it.  For now I changed my code
to use the process* variant that sends a command to the shell and that is
working.

One step closer to using chicken/spiffy for new web development at my company.
Wrapping up the first version of an egg to get at multipart/form-data in
spiffy so I can accept file uploads.


Bryan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]