[Mono-dev] [PATCH] Changes for CreateThread calls.
Kornél Pál
kornelpal at gmail.com
Wed Mar 25 12:44:32 EDT 2009
Wouldn't just this be enough?
in mono_thread_create_internal:
#ifdef PLATFORM_WIN32
DWORD tid;
#else
gsize tid;
#endif
Kornél
Bill Holmes wrote:
> Hi,
>
> The attached patch fixes some problems I was seeing with thread IDs on Winx64.
>
> What I found was that the thread ID argument of CreateThread is a
> ulong which is not 64 bits on Winx64. So when called with the address
> of a size variable the top 32 bits are garbage. This patch simply
> initializes all thread ID variables to zero before calling
> CreateThread. Is there a better way to fix this?
>
> -bill
>
>
>
> 2009-03-25 Bill Holmes <billholmes54 at gmail.com>
>
> * appdomain.c (mono_domain_unload),
> * attach.c (transport_start_receive),
> * threads.c (mono_thread_create_internal),
> * threads.c (ves_icall_System_Threading_Thread_Thread_internal):
> Initialize the tid variable to 0 before calls to CreateThread.
> This is needed for Winx64 because that argument is only 32 bits.
>
> Code is contributed under MIT/X11 license.
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
More information about the Mono-devel-list
mailing list