|
From: | Ed Watkeys |
Subject: | Re: [Chicken-users] questionable http-server behaviour under heavyload: broken pipe |
Date: | Thu, 26 Aug 2004 18:06:44 -0400 |
On Aug 26, 2004, at 4:17 PM, gian paolo ciceri wrote:
Felix Winkelmann wrote: [snip]Just globally, for example at the start of your file: (require-extension posix) (set-signal-handler! signal/pipe #f) ...your code follows...[snip]You should get it up and running by specifying an absolute root path: % spiffy -d -r /home/myname/web cheers, felixThanks Felix, both suggestions works ! Only a supplementary question: in both cases, doing a CTRL+C (i.e. SIGINT if I remember right) in the terminal where the server run, doesn't terminate the server process anymore, but I've trapped SIGPIPE, not SIGINT.
This seems to be a result of using threads. (You are using threads, right?) You should be able to kill the process by typing Control-\. Chicken threads behave very similarly to Python threads with respect to responding to Control-C and Control-\ (SIGINT and SIGQUIT).
Regarding the SIGPIPE error, a properly-functioning web server and client should not generate SIGPIPE: Someone is doing something wrong. As someone suggested, the problem could be as simple as the server sending an extra newline after a request. If no one else is going to look into this, I'd be willing to.
On a related subject, I found that there are interoperability issues with the XMLRPC client: It doesn't like talking to HTTP 1.1 servers. (Or is it that the server doesn't serve clients who submit HTTP 1.1 requests? I'm not sure; it was a while ago.)
Regards, Ed -- Watkeys Consulting: Product Design and Management http://watkeys.com/
[Prev in Thread] | Current Thread | [Next in Thread] |