W3C home > Mailing lists > Public > www-lib@w3.org > April to June 2001

RE: NT SP6 and WouldBlock in HTTCP.C - Seemingly broken

From: Jens Meggers <jens.meggers@firepad.com>
Date: Tue, 24 Apr 2001 17:07:56 -0700
Message-ID: <DDF913B74F07D411B22500B0D0206D9F4EF074@FIREPLUG>
To: "'Fred Covely'" <fcovely@covely.com>, www-lib@w3.org

I solved the problem within the last weeks. I had to pass the error message
that the asyn event messages of the socket call is carrying with the event
object to the HTDoConnect method. Actually, it works. Unfortunatly, a lot of
files are involved. I will send a patch description asap.


-----Original Message-----
From: Fred Covely [mailto:fcovely@covely.com]
Sent: Dienstag, 24. April 2001 17:09
To: www-lib@w3.org
Subject: NT SP6 and WouldBlock in HTTCP.C - Seemingly broken

I have run into an interesting problem on NT SP 6 on at
least one machine.  I've done a detailed trace on the box
that is failing and on several Win2K boxes that work.

Clearly based on the source comments there has been a lot
of work done in this area, so I would request your input
on this problem.

Here is the scenario:

We are doing a simple httpget on a public site (yahoo.com, or whatever).
On a win2K machine the sequence in HTTCP.C looks like this:

1224  15:50:44        Event....... Registering socket for HTEvent_CONNECT
1224  15:50:44        HTDoConnect. rcode `10035'
1224  15:50:44        HTDoConnect. status `-1'
1224  15:50:44        HTDoConnect. WOULD BLOCK `www.yahoo.com'
1224  15:50:44      Host Event.. WRITE passed to `http://www.yahoo.com'
1224  15:50:44      HTDoConnect. rcode `10056'
1224  15:50:44      HTDoConnect. status `-1'
1224  15:50:44      HTHost 01099988 going to state TCP_CONNECTED.
1224  15:50:44      Event....... Socket 456 unregistered for HTEvent_CONNECT
1224  15:50:44      DNS weight.. Home 5 has weight 0.00
1224  15:50:44      HTHost 01099988 connected.
1224  15:50:44      Host connect Unlocking Host 01099988
1224  15:50:44      StreamStack. Constructing stream stack for text/x-http
to */*

The Win2K request then proceeds normally.

On the NT SP 6 machine the same request looks like this:

286  14:40:54        Event....... Register socket 248, request 0082B640
286  14:40:54        HTDoConnect. rcode `10035'
286  14:40:54        HTDoConnect. status `-1'
286  14:40:54        HTDoConnect. WOULD BLOCK `www.yahoo.com'
286  14:41:39      Host Event.. WRITE passed to `http://www.yahoo.com'
286  14:41:39      HTDoConnect. rcode `10035'
286  14:41:39      HTDoConnect. status `-1'
286  14:41:39      HTDoConnect. WOULD BLOCK `www.yahoo.com'
286  14:42:24      Host Event.. WRITE passed to `http://www.yahoo.com'
286  14:42:24      HTDoConnect. rcode `10035'
286  14:42:24      HTDoConnect. status `-1'
286  14:42:24      HTDoConnect. WOULD BLOCK `www.yahoo.com'
286  14:43:09      Host Event.. WRITE passed to `http://www.yahoo.com'
286  14:43:09      HTDoConnect. rcode `10035'
286  14:43:09      HTDoConnect. status `-1'

In inspecting the Microsoft web site on the connect, they clearly
state that the preferred implementation is not to use multiple
connect calls.  I don't have enough familiarity with the libwww
code to venture a guess as to what is wrong.  Could it be related
to the multiple connect strategy?  If so has anyone looked at
the best way to do this?  I see a comment of about a year ago
from jens@meggers.com indicating there were known ms problems
in this area.  I have a hard time believing someone has not
figured out how to do an absolutely bullet proof connect in windows.

Any input greatly appreciated.

Fred Covely
Received on Tuesday, 24 April 2001 20:19:34 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:33:54 UTC