Behdad Esfahbod <[EMAIL PROTECTED]> writes:

> Well, sorry if it's all nonsense now:  Last year I sent the
> following mail, and got a reply confirming this bug and that it
> may be changed to use pid instead of a serial in log filename.
> Recently I was doing a project and had the same problem, I found
> an atomic solution for that in man page for open(2).

In the meantime Wget was changed to use O_EXCL for opening log files
when -b is used (and in some other cases as well).  Try the CVS Wget
and see if it works for you.  A variant of your original test case now
exhibits what I consider proper behavior:

$ while true
do
wget -b wwww.xemacs.org
done
Continuing in background, pid 15216.
Output will be written to `wget-log'.
Continuing in background, pid 15218.
Output will be written to `wget-log.1'.
Continuing in background, pid 15220.
Output will be written to `wget-log.2'.
Continuing in background, pid 15222.
Output will be written to `wget-log.3'.
Continuing in background, pid 15224.
Output will be written to `wget-log.4'.
Continuing in background, pid 15226.
Output will be written to `wget-log.5'.
Continuing in background, pid 15228.
Output will be written to `wget-log.6'.
Continuing in background, pid 15230.
Output will be written to `wget-log.7'.
Continuing in background, pid 15232.
Output will be written to `wget-log.8'.
Continuing in background, pid 15234.
Output will be written to `wget-log.9'.
Continuing in background, pid 15236.
Output will be written to `wget-log.10'.
Continuing in background, pid 15238.
Output will be written to `wget-log.11'.
Continuing in background, pid 15240.
Output will be written to `wget-log.12'.
Continuing in background, pid 15242.
Output will be written to `wget-log.13'.
Continuing in background, pid 15244.
Output will be written to `wget-log.14'.
Continuing in background, pid 15246.
Output will be written to `wget-log.15'.
Continuing in background, pid 15248.
Output will be written to `wget-log.16'.
Continuing in background, pid 15250.
Output will be written to `wget-log.17'.
Continuing in background, pid 15252.
Output will be written to `wget-log.18'.
Continuing in background, pid 15254.
Output will be written to `wget-log.19'.
Continuing in background, pid 15256.
Output will be written to `wget-log.20'.
Continuing in background, pid 15258.
Output will be written to `wget-log.21'.
Continuing in background, pid 15260.
Output will be written to `wget-log.22'.
Continuing in background, pid 15262.
Output will be written to `wget-log.23'.
Continuing in background, pid 15264.
Output will be written to `wget-log.24'.
Continuing in background, pid 15266.
Output will be written to `wget-log.25'.
Continuing in background, pid 15268.
Output will be written to `wget-log.26'.
Continuing in background, pid 15270.
Output will be written to `wget-log.27'.
Continuing in background, pid 15272.
Output will be written to `wget-log.28'.
Continuing in background, pid 15274.
Output will be written to `wget-log.29'.
Continuing in background, pid 15276.
Output will be written to `wget-log.30'.
Continuing in background, pid 15278.
Output will be written to `wget-log.31'.
Continuing in background, pid 15280.
Output will be written to `wget-log.32'.
Continuing in background, pid 15282.
Output will be written to `wget-log.33'.
Continuing in background, pid 15284.
Output will be written to `wget-log.34'.
Continuing in background, pid 15286.
Output will be written to `wget-log.35'.
Continuing in background, pid 15288.
Output will be written to `wget-log.36'.
Continuing in background, pid 15290.
Output will be written to `wget-log.37'.
Continuing in background, pid 15292.
Output will be written to `wget-log.38'.
Continuing in background, pid 15294.
Output will be written to `wget-log.39'.
Continuing in background, pid 15296.
Output will be written to `wget-log.40'.
Continuing in background, pid 15298.
Output will be written to `wget-log.41'.
Continuing in background, pid 15300.
Output will be written to `wget-log.42'.
Continuing in background, pid 15302.
Output will be written to `wget-log.43'.
Continuing in background, pid 15304.
Output will be written to `wget-log.44'.
Continuing in background, pid 15306.
Output will be written to `wget-log.45'.
Continuing in background, pid 15308.
Output will be written to `wget-log.46'.
Continuing in background, pid 15310.
Output will be written to `wget-log.47'.
Continuing in background, pid 15312.
Output will be written to `wget-log.48'.
Continuing in background, pid 15314.
Output will be written to `wget-log.49'.
Continuing in background, pid 15316.
Output will be written to `wget-log.50'.
...

Reply via email to