track all live threads in an AS-safe, fully-consistent linked list
[oweals/musl.git] / include / semaphore.h
index 724957fbe44635b2e080149908fec5035f7c8e5b..277c47d6f7425b9a8dc5578b3850c5b7c4847a9f 100644 (file)
@@ -4,11 +4,7 @@
 extern "C" {
 #endif
 
-#if __STDC_VERSION__ >= 199901L
-#define __restrict restrict
-#elif !defined(__GNUC__)
-#define __restrict
-#endif
+#include <features.h>
 
 #define __NEED_time_t
 #define __NEED_struct_timespec
@@ -19,7 +15,7 @@ extern "C" {
 #define SEM_FAILED ((sem_t *)0)
 
 typedef struct {
-       int __val[4*sizeof(long)/sizeof(int)];
+       volatile int __val[4*sizeof(long)/sizeof(int)];
 } sem_t;
 
 int    sem_close(sem_t *);