[dmd-beta] dmd 1.062 and 2.047 beta
Walter Bright
walter at digitalmars.com
Fri Aug 27 12:37:37 PDT 2010
Changeset 374
Rainer Schuetze wrote:
>
>
> After fixing bug 4328, I could narrow the problems down to the
> polishing of std.thread (and involves attaching to threads that are
> not created from within D, so it is not easily covered by unit tests):
>
> Index: thread.d
> ===================================================================
> --- thread.d (revision 373)
> +++ thread.d (working copy)
> @@ -1903,7 +1903,6 @@
> thisThread.m_isRunning = true;
> }
> thisThread.m_isDaemon = true;
> - Thread.setThis( thisThread );
>
> version( OSX )
> {
> @@ -1922,6 +1921,10 @@
> obj.m_tls = p[0 .. sz];
> memcpy( p, &_tls_beg, sz );
> // used gc_malloc so no need to free
> +
> + if( t.m_addr == pthread_self() )
> + Thread.setThis( thisThread );
> +
> }
> else version( Windows )
> {
> @@ -1930,6 +1933,7 @@
> auto pstart = cast(void*) &_tlsstart;
> auto pend = cast(void*) &_tlsend;
> thisThread.m_tls = pstart[0 .. pend - pstart];
> + Thread.setThis( thisThread );
> }
> else
> {
>
>
> can somebody apply this patch to druntime, please?
>
> The original project also compiles fine now with the std.startsWith.
>
> Rainer
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
>
More information about the dmd-beta
mailing list