Hey, On Tue, Feb 19, 2002 at 09:19:56AM -0800, Kip Macy wrote: > > Apache will switch to this method at some point. I really can't > > understand why they went with that complicated pre-forking stuff. > > Using non-blockijng I/O is just not that hard." > > As mentioned previously, due to the blocking semantics of file I/O on unix, > single process servers will only provide peak throughput if everything is > resident. By pre-forking, data can continued to be served if one process blocks > on file I/O. Apache already handles multiple connections within a process, so > it does something like this already.
Yes.. but if your using non-blocking IO for both the disc and network read/writes, this no longer applies. If I understand correctly in normal operation a server like tHttpd simply blocks on kevent() and when a descriptor becomes available for servicing it handles this occurance, or occurances since a single kevent() call can return more than a single event and then goes back to blocking. Reads and writes don't block if they don't complete, you simply get another event when the descriptor becomes available again. Am I wrong? > -Kip > > > To Unsubscribe: send mail to [EMAIL PROTECTED] > with "unsubscribe freebsd-hackers" in the body of the message -- Dominic To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message