[Mono-devel-list] [PATCH] finishing up the async socket patch

Brad Fitzpatrick brad at danga.com
Fri Jan 9 18:49:41 EST 2004


Hello!

Here's another patch which finishes the async socket fixes Gonzalo
committed for me on Dec. 31st.

Applies against current CVS:

  http://www.bradfitz.com/share/mono/Socket-async-patch2.txt

Also attached to this email.

This ensures that Mono's socket class now never throws exception in its
worker threads.  Only in End* Methods, which is the .NET way.

With the fix, my reverse HTTP proxy behaves identically as on Mono as on
Windows when faced with failing connections.  (I'm writing it with only
async calls, just to learn & have fun with .NET's async design
pattern...)

I didn't test the changes I did to the non-blocking paths, but it now
seems to implement what the MSDN docs say, and it makes no sense to throw
errors in a worker thread where they're uncatchable.

I resisted the urge to clean up all the ^M chars mixed into that file, and
make the whitespace/coding style consistent.  If desired, I can do that in
a separate patch.

It look okay?

-- 
Brad Fitzpatrick
http://www.danga.com/
brad at danga.com
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Socket-async-patch2.txt
Url: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20040109/103617cc/attachment.txt 


More information about the Mono-devel-list mailing list