Author: gonzalo
Date: 2006-01-17 01:08:53 -0500 (Tue, 17 Jan 2006)
New Revision: 55666
Modified:
branches/mono-1-1-13/mono/mono/metadata/ChangeLog
branches/mono-1-1-13/mono/mono/metadata/threadpool.c
Log:
2006-01-17 Gonzalo Paniagua Javier <[EMAIL PROTECTED]>
* threadpool.c: fix problem (Mac only) when more than one asynchronous
connect. Fixes bug #77020.
Modified: branches/mono-1-1-13/mono/mono/metadata/ChangeLog
===================================================================
--- branches/mono-1-1-13/mono/mono/metadata/ChangeLog 2006-01-17 05:57:15 UTC
(rev 55665)
+++ branches/mono-1-1-13/mono/mono/metadata/ChangeLog 2006-01-17 06:08:53 UTC
(rev 55666)
@@ -1,4 +1,8 @@
+2006-01-17 Gonzalo Paniagua Javier <[EMAIL PROTECTED]>
+ * threadpool.c: fix problem (Mac only) when more than one asynchronous
+ connect. Fixes bug #77020.
+
Mon Jan 16 19:20:43 CET 2006 Paolo Molaro <[EMAIL PROTECTED]>
* class.c: fixed id assignement for nested interfaces (bug #77275).
Modified: branches/mono-1-1-13/mono/mono/metadata/threadpool.c
===================================================================
--- branches/mono-1-1-13/mono/mono/metadata/threadpool.c 2006-01-17
05:57:15 UTC (rev 55665)
+++ branches/mono-1-1-13/mono/mono/metadata/threadpool.c 2006-01-17
06:08:53 UTC (rev 55666)
@@ -764,6 +764,13 @@
GSList *list;
SocketIOData *data = &socket_io_data;
+#ifdef PLATFORM_MACOSX
+ /* select() for connect() does not work well on the Mac. Bug #75436. */
+ if (state->operation == AIO_OP_CONNECT && state->blocking == TRUE) {
+ start_io_thread_or_queue (state);
+ return;
+ }
+#endif
WaitForSingleObject (data->new_sem, INFINITE);
if (data->newpfd == NULL)
data->newpfd = g_new0 (mono_pollfd, 1);
@@ -778,13 +785,6 @@
}
events = get_events_from_list (list);
-#ifdef PLATFORM_MACOSX
- /* select() for connect() does not work well on the Mac. Bug #75436. */
- if (state->operation == AIO_OP_CONNECT && state->blocking == TRUE) {
- start_io_thread_or_queue (state);
- return;
- }
-#endif
INIT_POLLFD (data->newpfd, GPOINTER_TO_INT (state->handle), events);
g_hash_table_replace (data->sock_to_state, GINT_TO_POINTER
(state->handle), list);
LeaveCriticalSection (&data->io_lock);
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches