On Mon, Jan 24, 2011 at 10:04:42PM +0100, Bert Belder <[email protected]>
wrote:
> There is a problem with libev/select on windows. When a socket that is being
> observed with an ev_io watcher is closed, and the same fd gets re-used for
> another socket in the same tick (so before control to is returned to libev),
> the windows handle that is cached in ANFD->handle is not updated.
Actually, according to the code, the cached handle gets updated on every
start of an I/O watcher that has it's fd updated.
Are you sure you stop/set/start the watcher? (See "The special problem of
disappearing file descriptors").
If you do, can you make a small testcase the illustrates the problem? I
can't see how it can not update the cached fd (there might be a problem
with updating it, but that doesn't seem to be what you see).
> Is there a better solution to this problem?
> And if not, any chance that this patch could be landed?
It should just work, and if it doesn't, it needs to be made to work.
--
The choice of a Deliantra, the free code+content MORPG
-----==- _GNU_ http://www.deliantra.net
----==-- _ generation
---==---(_)__ __ ____ __ Marc Lehmann
--==---/ / _ \/ // /\ \/ / [email protected]
-=====/_/_//_/\_,_/ /_/\_\
_______________________________________________
libev mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev