W3C home > Mailing lists > Public > www-lib@w3.org > January to March 2001

bugs in HTHost.c

From: Jens Meggers <jens.meggers@firepad.com>
Date: Sun, 25 Mar 2001 13:37:11 -0800
Message-ID: <DDF913B74F07D411B22500B0D0206D9F185472@FIREPLUG>
To: "'www-lib@w3.org'" <www-lib@w3.org>
Hi,

as pointed out in some earlier mails, 
http://lists.w3.org/Archives/Public/www-lib/2001JanMar/0143.html
there are some bugs in HTHost.s. They are related to missing unregistration
of HTEvent_CLOSE events on windows. The windows implementation always
registers for HTEvent_CLOSE for each connection. Thus, we need always to
unregister that event before setting host->registersFor to zero. There are 3
code segements that need to be changed from 

	HTEvent_unregister(HTChannel_socket(host->channel), HTEvent_READ);
	HTEvent_unregister(HTChannel_socket(host->channel), HTEvent_WRITE);
	host->registeredFor = 0;


to:

	HTEvent_unregister(HTChannel_socket(host->channel), HTEvent_READ);
	HTEvent_unregister(HTChannel_socket(host->channel), HTEvent_WRITE);
#ifdef WWW_WIN_ASYNC
	HTEvent_unregister(HTChannel_socket(host->channel), HTEvent_CLOSE);
#endif /* WWW_WIN_ASYNC */
	host->registeredFor = 0;


They are in the following procedures 

HTHost_clearChannel (HTHost * host, int status)
HTHost_recoverPipe (HTHost * host)
HTHost_register (HTHost * host, HTNet * net, HTEventType type)

Regards,

Jens
Received on Sunday, 25 March 2001 16:47:31 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 23 April 2007 18:18:39 GMT