Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.
/ druntime Public archive

Comments

make Thread.sm_this a plain TLS value#456

Merged
alexrp merged 1 commit intodlang:masterfrom
MartinNowak:useTLS
Mar 19, 2013
Merged

make Thread.sm_this a plain TLS value#456
alexrp merged 1 commit intodlang:masterfrom
MartinNowak:useTLS

Conversation

@MartinNowak
Copy link
Member

  • this became possible, because the TLS emulation
    no longer uses the Thread.getThis() instance
  • Windows use impersonate_thread to set sm_this
    when attaching a foreign thread

- this became possible, because the TLS emulation
  no longer uses the Thread.getThis() instance

- Windows use impersonate_thread to set sm_this
  when attaching a foreign thread
alexrp added a commit that referenced this pull request Mar 19, 2013
make Thread.sm_this a plain TLS value
@alexrp alexrp merged commit dee2d75 into dlang:master Mar 19, 2013
@MartinNowak MartinNowak deleted the useTLS branch March 20, 2013 01:54
@braddr
Copy link
Member

braddr commented Mar 20, 2013

This pull request seems to have broken osx 32 and 64. It was pulled before the platform completed (because it was hung in the first druntime tests). Consequently, the master branch pulls are also hung on the same tests. It looks like infinite recursion.. which ought to lead to an eventual fault, but...

(gdb) bt
#0 0x000e993a in D2rt4deh213__eh_finddataFPvPyS2rt4deh29FuncTablePyS2rt4deh29FuncTableZPyS2rt4deh29FuncTable ()
#1 0x000e98f1 in D2rt4deh213__eh_finddataFPvZPyS2rt4deh29FuncTable17__foreachbody3418MFKS2rt12sections_osx12SectionGroupZi ()
#2 0x000efbb9 in D2rt12sections_osx12SectionGroup7opApplyFMDFKS2rt12sections_osx12SectionGroupZiZi ()
#3 0x000e9898 in D2rt4deh213__eh_finddataFPvZPyS2rt4deh29FuncTable ()
#4 0x000e99ec in _d_throwc ()
#5 0x0008967a in onAssertError ()
#6 0x000e9e66 in _d_assertm ()
#7 0x00079d99 in D2rt12sections_osx8__assertFiZv ()
#8 0x000effb0 in __tls_get_addr ()
#9 0x000e9a9e in _d_throwc ()
#10 0x0008967a in onAssertError ()
#11 0x000e9e66 in _d_assertm ()
#12 0x00079d99 in D2rt12sections_osx8__assertFiZv ()
...

alexrp added a commit that referenced this pull request Mar 20, 2013
Revert "Merge pull request #456 from dawgfoto/useTLS"
@alexrp
Copy link
Contributor

alexrp commented Mar 20, 2013

@braddr @AndrejMitrovic's revert is in now, sorry about the mess

@braddr
Copy link
Member

braddr commented Mar 20, 2013

No worries.. these sorts of failures are just rare enough that I haven't taught the auto tester how to watch for hung tests and deal with them yet. If only there were more hours in the day. Anyone wanna take a stab at adding it?

@MartinNowak
Copy link
Member Author

Anyone wanna take a stab at adding it?

Yep, I'll put it on my task list. This one here https://github.com/braddr/d-tester?

@braddr
Copy link
Member

braddr commented Mar 20, 2013

yes.. we can discuss the details more, but not in this pull request.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants