aarch64: add HWCAP_DCPOP from linux v4.14
[musl] / src / thread / synccall.c
index 47d070b..ba2f258 100644 (file)
@@ -14,8 +14,8 @@ static struct chain {
        sem_t target_sem, caller_sem;
 } *volatile head;
 
-static int synccall_lock[2];
-static int target_tid;
+static volatile int synccall_lock[1];
+static volatile int target_tid;
 static void (*callback)(void *), *context;
 static volatile int dummy = 0;
 weak_alias(dummy, __block_new_threads);
@@ -50,7 +50,7 @@ void __synccall(void (*func)(void *), void *ctx)
        int cs, i, r, pid, self;;
        DIR dir = {0};
        struct dirent *de;
-       struct sigaction sa = { .sa_flags = 0, .sa_handler = handler };
+       struct sigaction sa = { .sa_flags = SA_RESTART, .sa_handler = handler };
        struct chain *cp, *next;
        struct timespec ts;