Libwww4.1: maxfds is 0

------- Forwarded Message

Return-Path: lib-friends-request@w3.org 
Return-Path: <lib-friends-request@w3.org>
Received: from www10.w3.org by www20 (5.0/NSCS-1.0S) 
	id AA25196; Fri, 1 Mar 1996 13:04:45 -0500
Received: from www19.w3.org by www10.w3.org (5.0/NSCS-1.0S) 
	id AA27209; Fri, 1 Mar 1996 13:04:45 +0500
Received: by www19.w3.org (8.6.12/8.6.12) id NAA10858; Fri, 1 Mar 1996 
13:04:24 -0500
Resent-Date: Fri, 1 Mar 1996 13:04:24 -0500
Resent-Message-Id: <199603011804.NAA10858@www19.w3.org>
Message-Id: <01BB0770.AEBEEBE0@vun.isdnsys.com>
From: Vu Nguyen <vun@isdnsys.com>
To: "'lib-friends@w3.org'" <lib-friends@w3.org>
Subject: Libwww4.1:   maxfds is 0
Date: Fri, 1 Mar 1996 13:12:01 -0500
Encoding: 73 TEXT
X-Info: ISDN Technology Leaders
Resent-From: lib-friends@w3.org
X-Mailing-List: <lib-friends@w3.org> archive/latest/38
X-Loop: lib-friends@w3.org
Sender: lib-friends-request@w3.org
Resent-Sender: lib-friends-request@w3.org
Precedence: list
Content-Type: text
Content-Length: 2417

Hello Henrik,

Remember, my question about 'broken pipe' awhile ago with libwww4.0D?

I can reproduce the same problem with libwww4.1

Let me recap what the problem was:

	During an "accept" state the lib uses the listen()'ing socket to look for 
a request 	and it then creates a new socket/new request, and handles it - 
good

	Trouble shows up when the client prematurely closed the connection during 
the 	'accept' state.  DoAccept() fails --->  the *listen()'ing* socket get 
UnRegistered!

	Below is a copy of trace that shows what happened:

Processing.. Read socket set. max_sock is 3
Retrieve.... Found socket 3
Accepting... socket 3
HTNet_new... starting SERVER request 8091188 with net object 808d120
HTTP Serve.. request 8091188 on socket 3
Alert Find.. No entry found for opcode 4
Error Add... number:  44        Severity: 4     Parameter: `accept: 
Protocol error'     Where: `accept'
Memory.... Freeing 8097958
HTDoAccept.. Accept failed
HTNetDelete. Object and call callback functions
Memory.... Freeing 8096c48
HTNet_delete Remove net object 808d120
UnRegister.. Found entry for socket 3 with ops 3f
Unregister.. operations set for socket is 0
ResetMaxSock max socket is 3
ResetMaxSock new max is 0
Memory.... Freeing 8086c70
HTNet_delete closing 3
Memory.... Freeing 808d120
Net callback 804f750 (request=8091188, status=-1)
SERVER...... 8091188 ended with status -1
Memory.... Freeing 80979f8
Memory.... Freeing 8097938
HTNet_delete Remove net object 808d120
UnRegister.. Found entry for socket 3 with ops 3f
Unregister.. operations set for socket is 0
ResetMaxSock max socket is 3
ResetMaxSock new max is 0
Memory.... Freeing 8086c70
HTNet_delete closing 3
Memory.... Freeing 808d120
Net callback 804f750 (request=8091188, status=-1)
SERVER...... 8091188 ended with status -1
Memory.... Freeing 80979f8
Memory.... Freeing 8097938
Memory.... Freeing 8096c38
Memory.... Freeing 8096c68
Memory.... Freeing 8091188
Memory.... Freeing 8086b40
Event Loop.. calling select: maxfds is 0

Now how did I cause that to happen?

I use Netscape browser to issue the initial request, while the requested 
document is being loaded, I *repeatedly* click the 'Reload' button until I 
see the listen()ing socket get UnRegistered.  The trick is to request a 
huge doc so that it takes the server a while to transfer data and do the 
'Reload' during that time

Regards,

Vu Nguyen

PS, Keep up the Good Work - Thanks


------- End of Forwarded Message

Received on Wednesday, 1 May 1996 14:08:20 UTC