2008-05-29 Dick Porter <dick@ximian.com>
authorDick Porter <dick@acm.org>
Thu, 29 May 2008 14:23:06 +0000 (14:23 -0000)
committerDick Porter <dick@acm.org>
Thu, 29 May 2008 14:23:06 +0000 (14:23 -0000)
commit7227a62829ba7c889b15e8460de1adaf6a57f507
treed8949ea5e331b4c77c0e96bb4c1e5727ac0d8ce2
parent92b68534423fbfca3bfd23b3fee3b95d98525c0c
2008-05-29  Dick Porter  <dick@ximian.com>

* threadpool.c (mono_thread_pool_remove_socket): Always remove the
async socket operations from the pending list when a socket
closes.  Leaving it until the threadpool services the event
exposes a race condition when a socket descriptor is reused.
Fixes bug 377589.

2008-05-29  Dick Porter  <dick@ximian.com>

* sockets.c (socket_close): Clear any saved errors
(_wapi_connect): Don't save EWOULDBLOCK errors here, as that
breaks async connects.  (Bug 377589 test case broken by the
previous fix to bug 356552)

svn path=/trunk/mono/; revision=104409
mono/io-layer/ChangeLog
mono/io-layer/sockets.c
mono/metadata/ChangeLog
mono/metadata/threadpool.c