On Mon, Sep 28, 2009 at 13:48:37 -0400, Dustin J. Mitchell wrote:
> The mysterious fcntl() calls, however, serve as a warning to uthreads
> that the index file exists. Uthreads sets the O_NONBLOCK flag when
> performing the fcntl(), but then clears it on execve(), so everything
> works as expected.
Congrats on tracking down all that! :)
One followup, question, though:
Early on in this thread (Aug 30 and 31), Michael reported that one of
the early patches that Jean-Louis sent to him (or to Stan?) did fix the
original "gzip: stdout: Resource temporarily unavailable" message... but
then there was instead a similar error from the "sed" process that's
part of the index-generation pipeline. (Based on the followup
discussion, it seems that early patch only touched the handle for the
data file, though I am not sure exact where/when.)
However, a bit later on (Sept 4), Michael reported that the one-line
patch that touched just "datafd" (in sendbackup.c/main(), immediately
after values are assigned to datafd/mesgfd/indexfd) was enough to
allow his dumps to complete without error, no matter what combination of
indexing and compression he had configured.
Now that you have figured out that this is all, in fact, related to
pthreads, do you understand why this later patch was able to eliminate
the errors from the "sed" process as well?
Nathan
----------------------------------------------------------------------------
Nathan Stratton Treadway - nathanst AT ontko DOT com - Mid-Atlantic region
Ray Ontko & Co. - Software consulting services - http://www.ontko.com/
GPG Key: http://www.ontko.com/~nathanst/gpg_key.txt ID: 1023D/ECFB6239
Key fingerprint = 6AD8 485E 20B9 5C71 231C 0C32 15F3 ADCD ECFB 6239
signature.asc
Description: Digital signature
|