[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Need testing of Patch #3268 on Windows
From: |
Richard Frith-Macdonald |
Subject: |
Re: Need testing of Patch #3268 on Windows |
Date: |
Thu, 11 Nov 2004 18:31:52 +0000 |
On 11 Nov 2004, at 18:18, Fred Kiefer wrote:
Adam Fedor wrote:
I've applied this patch on a branch 'mingw-runloop'
cvs -z3 update -r mingw-runloop
Could someone test this on Windows? I've tried running, for
instance, base/Testing/nsconnection, but I get a
NSPortTimeoutException: timed out waiting for a reply
This program worked before I applied the patch. Perhaps It's just me
or I did something wrong...
https://savannah.gnu.org/patch/?func=detailitem&item_id=3268
Could we get Richards comments on this patch before it gets merged up?
I remember him stating years before that the WaitForMultipleObjects()
call in Windows is limited in the amount of object it is able to
handle and that this restriction wont allow larger DO applications on
windows. This is why we settled to do without this at that time.
I already commented ... but I don't mind saying it again.
I have since been told that the info I found on the net at the time was
wrong.
True, WaitForMultipleObjects() is limited but ... but I'm told that
using more than
64 descriptors in a select() is both awkward and unreliable.
You need to change your windows machine configuration to enable more
socket descriptors,
You need to override FD_SETSIZE,
and apparently a lot of software just won't work with more than 64.
So in practice, I think the change will not make things worse ... but
should enable
support for pipes and other handles.
I think the ideal would be a more sophisticated NSRunLoop
implementation for
windows, based on this patch but extended so that, where more than 64
handles
are needed, extra threads are used to wait for the extra handles and
all waiting
threads synchronise with the main thread.
It seems to me that the patch is not perfect, but is a step in the
right direction for windows users.