mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-27 06:48:31 +00:00
Get threads working well on MacOS Arm64
- Now using 10x better GCD semaphores - We now generate Linux-like thread ids - We now use fast system clock / sleep libraries - The APE M1 loader now generates Linux-like stacks
This commit is contained in:
parent
b5eab2b0b7
commit
bcf9af94bf
2037 changed files with 4664 additions and 4451 deletions
|
@ -45,7 +45,7 @@ relegated wontreturn void __die(void) {
|
|||
int me, owner;
|
||||
static atomic_int once;
|
||||
owner = 0;
|
||||
me = sys_gettid();
|
||||
me = __tls_enabled ? __get_tls()->tib_tid : sys_gettid();
|
||||
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, 0);
|
||||
if (__vforked ||
|
||||
atomic_compare_exchange_strong_explicit(
|
||||
|
|
|
@ -270,7 +270,7 @@ static wontreturn relegated noinstrument void __minicrash(int sig,
|
|||
"\n",
|
||||
kind, sig, __argv[0], ctx ? ctx->uc_mcontext.rip : 0,
|
||||
ctx ? ctx->uc_mcontext.rsp : 0, ctx ? ctx->uc_mcontext.rbp : 0, __pid,
|
||||
sys_gettid());
|
||||
__tls_enabled ? __get_tls()->tib_tid : sys_gettid());
|
||||
_Exitr(119);
|
||||
}
|
||||
|
||||
|
@ -302,7 +302,7 @@ relegated void __oncrash_amd64(int sig, struct siginfo *si, void *arg) {
|
|||
ftrace_enabled(-1);
|
||||
strace_enabled(-1);
|
||||
owner = 0;
|
||||
me = sys_gettid();
|
||||
me = __tls_enabled ? __get_tls()->tib_tid : sys_gettid();
|
||||
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, 0);
|
||||
if (atomic_compare_exchange_strong_explicit(
|
||||
&once, &owner, me, memory_order_relaxed, memory_order_relaxed)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue