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 _______________________________________________ Chicken-users mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/chicken-users
