Great thanks, commited to master.

-g

On 2010-10-01, at 12:31 PM, Koushik Dutta wrote:

> I submit this patch under the terms of the MIT/X11 license
> 
> On Fri, Oct 1, 2010 at 7:12 AM, Geoff Norton <[email protected]> wrote:
> Koush,
> 
>   Nice, can you please confirm on the list that you're willing to contribute 
> this patch under the terms of the MIT/X11 license?
> 
> Thanks
> 
> -g
> 
> On 2010-09-30, at 12:26 AM, Koushik Dutta wrote:
> 
>> Here is the fix for the following bug:
>> https://bugzilla.novell.com/show_bug.cgi?id=633454
>> 
>> The underlying problem is there is a bug in Android's libc, where after a 
>> process forks, the kernel id of the forked thread is not changed to reflect 
>> the new child thread. The pthread kernel id still points to the kernel id of 
>> the parent process: zygote.
>> 
>> This bug breaks all multithread monodroid apps (as well as my mono on 
>> Android port), as Garbage Collection fails and the process hangs.
>> 
>> The fix/workaround for the bug in Android is as follows:
>> The GC_Thread structure on Android has a new "kernel_id" member. When 
>> GC_new_thread is called, the kernel id is also retrieved and stored with 
>> gettid. When the world needs to be stopped/started, a new function 
>> android_thread_kill is called, which is a reimplementation of Android's 
>> pthread_kill. Instead, which takes the correct kernel id, rather than the 
>> potentially hosed pthread.
>> 
>> I have attached a patch file, as well as committed to my fork of mono on 
>> Github:
>> http://github.com/koush/mono/commit/414aff5598a2dea618741bea714fa8dd1baf0d52
>> 
>> 
>> <pthread_android.patch>_______________________________________________
>> Mono-list maillist  -  [email protected]
>> http://lists.ximian.com/mailman/listinfo/mono-list
> 
> 

_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to