[Mono-dev] TCP (threadpool.c)

Roope Kangas roope at grandcrugames.com
Fri Apr 19 09:49:22 UTC 2013


We also cannot use BeginSend atm. I suspect we have the same problem.

Whats the situation with mono TCP stack? From Xamarin point-of-view all epoll,kqueue,tpoll work perfectly on all os?

Is there some wiki / html page that would have list of current limitations and bugs? Do we have some common test framework?

Or should we start developing a tester for the socket code? Something that does all the business as usual things and then tries also abuse the api =)

Would be very interested in making sure the network stack works well.

--  
 Roope Kangas / LSD, Grand Cru
 +358 40 869 6976 roope at grandcrugames.com  
 http://grandcrugames.com/ @grandcrugames


On Friday, April 19, 2013 at 12:34 PM, Greg Young wrote:

> We still have this patch that we use with mono.
>  
> diff --git a/mono/metadata/threadpool.c b/mono/metadata/threadpool.c
> index e8a2f1a..f83e473 100644
> --- a/mono/metadata/threadpool.c
> +++ b/mono/metadata/threadpool.c
> @@ -555,8 +555,8 @@ socket_io_add (MonoAsyncResult *ares,
> MonoSocketAsyncResult *state)
>  
> mono_g_hash_table_replace (data->sock_to_state, state->handle, list);
> ievt = get_events_from_list (list);
> - LeaveCriticalSection (&data->io_lock);
> data->modify (data->event_data, fd, state->operation, ievt, is_new);
> + LeaveCriticalSection (&data->io_lock);
> }
>  
>  
> We tried to submit this previously as it resolves our problems. It was
> rejected that it introduces a deadlock. We have provided tests that
> show without this change that TCP is basically unusable calls like
> beginsend sometimes never call endsend.
>  
> I would really prefer to not be distributing a "custom" version of
> mono with this patch so how can we resolve this.
>  
> Cheers,
>  
> Greg
>  
> --
> Le doute n'est pas une condition agréable, mais la certitude est absurde.
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com (mailto:Mono-devel-list at lists.ximian.com)
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>  
>  


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20130419/2155c043/attachment-0001.html>


More information about the Mono-devel-list mailing list