From: Dave Thomas Date: 2002-03-13T02:22:58+09:00 Subject: Re: gzip again... Massimiliano Mirra writes: > On Tue, Mar 12, 2002 at 11:42:15PM +0900, Dave Thomas wrote: > > My guess is that gzip is blocking waiting to write to you. > > > > Say you have a total of 100k to write to it, and that expands to 500k > > that it will send back to you. > > > > You're writing 100k in one chunk. gzip starts reading it, and after > > reading 50k it has enough data to start writing some output. Perhaps > > it has 200k to write to you. However, you're still busy writing, and > > don't yet have a read pending, so gzip will be suspended. The result > > is that both sides will be deadlocked. > > Blocking to write output seems to be exactly what happens, yet it > won't write if I don't close_write it first, which in turn prevents > from writing more. This looks like a dog biting its tale. Maybe it's > time to go back to the good ol' temp files. :-( Or multiple thread/processes (say fork the writer and read in the parent) Dave