Quoth David Wu: > OK. For normally CGI program(I mean exit normally) it works fine. But If > I try to call "cat kmsg" in a CGI program then it will block further > request from browser. It seems there is one missing close on the socket.
That's just vfork at work, isn't it? vfork blocks the execution of the parent process until the child exits or execs. IIRC, the way the patch worked was to run the actual CGI in parallel (because it was exec'd), but the output processing within the server itself blocks the main server body while waiting for output from the CGI. Admittedly not ideal, but I wasn't needing to serve multiple connections anyway so I didn't look into it further. There was a comment to that effect in the patch, I think. I think to sort that out the I/O interpose helper children would have to be split off into "true" separate processes that could be exec'd, which would have been quite a bit more work :) _______________________________________________ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev