<br><br><div class="gmail_quote">On Sat, Mar 17, 2012 at 2:03 AM, <a href="mailto:pablosantosluac@terra.es">pablosantosluac@terra.es</a> <span dir="ltr"><<a href="mailto:pablosantosluac@terra.es">pablosantosluac@terra.es</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ok: the problem is that I was wrapping the NetworkStream with a<br>
BufferedStream, and BufferedStream is not async in Mono, while it is<br>
async in .NET<br>
<br>
:(<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
On 16/03/2012 16:57, <a href="mailto:pablosantosluac@terra.es">pablosantosluac@terra.es</a> wrote:<br>
> Hi,<br>
><br>
> I'm working on some changes to make the TcpChannel work in async mode.<br>
><br>
> Instead of changing all the reads and writes to async, I'm just<br>
> modifying the intial message status read to async, so instead of having<br>
> a pile of threads waiting for IO on the server (waiting for clients to<br>
> call or disconnect), there will be only as few threads as running methods.<br>
><br>
> It works great on Windows even under huge load (I'm testing on a<br>
> 100-nodes cluster on EC2).<br>
><br>
> But, now, trying on Linux simply fails because this call:<br>
><br>
> networkStream.BeginRead(buffer, 0, 6, callback, null);<br>
><br>
> where networkStream is System.Net.Sockets.NetworkStream<br>
><br>
> locks.<br>
><br>
> What it actually does is to block and then invoke the callback, but it<br>
> doesn't go through until the callback finishes, which I think is not the<br>
> desired behavior.<br>
><br>
> I'm running:<br>
> Mono JIT compiler version 2.10.2 (tarball Mon Apr 18 15:12:52 UTC 2011)<br>
> Copyright (C) 2002-2011 Novell, Inc and Contributors. <a href="http://www.mono-project.com" target="_blank">www.mono-project.com</a><br>
>     TLS:           __thread<br>
>     SIGSEGV:       altstack<br>
>     Notifications: epoll<br>
>     Architecture:  amd64<br>
>     Disabled:      none<br>
>     Misc:          debugger softdebug<br>
>     LLVM:          yes(2.9svn-mono)<br>
>     GC:            Included Boehm (with typed GC and Parallel Mark)<br>
><br>
> It fails with older monos too.<br>
><br>
> Obviously I'm doing something wrong.<br>
><br>
> Is there a way I can fix it?<br>
><br>
> Thanks,<br>
><br>
> pablo<br>
> _______________________________________________<br>
> Mono-devel-list mailing list<br>
> <a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
> <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
><br>
_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
</div></div></blockquote></div><br>Hi.. Is it possible to post some benchmarks for that once you fixed your bugs.  I am interested in using async socket with mono on Linux..thx.<br>