[Mono-devel-list] PATCH: reworked async IO for Socket
Gonzalo Paniagua Javier
gonzalo at ximian.com
Fri Apr 8 22:13:36 EDT 2005
On Fri, 2005-04-08 at 12:38 -0700, JD Conley wrote:
> > For windows, well, patches for using its asynch. IO functions are
> > welcome :).
>
> We'll see... I'm not very C proficient. :)
>
> > For the rest, aio_(read|write) are not always available and/or
> > SIGEV_THREAD does not work. Even when SIGEV_THREAD works, the thread
> > that calls the callback function will be killed if the callback takes
> > "too much" time, which is not much. So we had to use another thread to
>
> > actually invoke the managed callback (and the thread has to be from
> > the threadpool, to behave like MS).
> >
> > The code that we have right does not have any performance issue and
> > works on any system that have select(). And we are just 'wasting' one
> > thread for polling on all the sockets with ongoing async. operations.
>
> Interesting. May I suggest using a different threadpool than the static
> application pool? With that you can manage the concurrency settings
> separately, and not block application thread pooling and async
> delegates. I believe the MS implementation uses a VERY large IOCP
> threadpool for this.
Yes, that next in my TODO (after making the previous patch work on
windows).
-Gonzalo
More information about the Mono-devel-list
mailing list