Sorry for the noise, I just noticed:  When testing with:

for x in `seq 1 100`; do wget -b http://behdad.org/; done


If I use the 1.8.2 version, although I get 100 different log
files, but get only 14 index.html files.  With the CVS, I see in
the log that it's trying to find a nonexistence file:

Connecting to behdad.org|217.160.226.67|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
index.html.21 has sprung into existence.
Retrying.

--17:51:51--  http://behdad.org/
  (try:10) => `index.html.22'
Connecting to behdad.org|217.160.226.67|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
index.html.22 has sprung into existence.
Retrying.

--17:52:03--  http://behdad.org/
  (try:11) => `index.html.23'
Connecting to behdad.org|217.160.226.67|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/plain]
index.html.23 has sprung into existence.
Retrying.




While that's indeed working as expected: not overwriting files,
but it's pretty slow, like waiting ten seconds between each
retry.  But in a real world situation that should be perfectly
fine.

Thanks again,
behdad


On Wed, 30 Mar 2005, Hrvoje Niksic wrote:

> 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'.
> ...
>
>

--behdad
http://behdad.org/

Reply via email to