projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix several locks that weren't updated right for new futex-based __lock
[musl]
/
src
/
internal
/
pthread_impl.h
diff --git
a/src/internal/pthread_impl.h
b/src/internal/pthread_impl.h
index
d67edf2
..
46d8fdd
100644
(file)
--- a/
src/internal/pthread_impl.h
+++ b/
src/internal/pthread_impl.h
@@
-28,13
+28,12
@@
struct pthread {
pid_t tid, pid;
int tsd_used, errno_val, *errno_ptr;
volatile int cancel, canceldisable, cancelasync;
pid_t tid, pid;
int tsd_used, errno_val, *errno_ptr;
volatile int cancel, canceldisable, cancelasync;
+ int detached;
unsigned char *map_base;
size_t map_size;
void *start_arg;
void *(*start)(void *);
void *result;
unsigned char *map_base;
size_t map_size;
void *start_arg;
void *(*start)(void *);
void *result;
- int detached;
- int exitlock;
struct __ptcb *cancelbuf;
void **tsd;
pthread_attr_t attr;
struct __ptcb *cancelbuf;
void **tsd;
pthread_attr_t attr;
@@
-47,7
+46,8
@@
struct pthread {
int unblock_cancel;
int delete_timer;
locale_t locale;
int unblock_cancel;
int delete_timer;
locale_t locale;
- int killlock;
+ int killlock[2];
+ int exitlock[2];
};
struct __timer {
};
struct __timer {
@@
-59,7
+59,8
@@
struct __timer {
#define _a_stacksize __u.__s[0]
#define _a_guardsize __u.__s[1]
#define _a_stacksize __u.__s[0]
#define _a_guardsize __u.__s[1]
-#define _a_detach __u.__i[2*__SU+0]
+#define _a_stackaddr __u.__s[2]
+#define _a_detach __u.__i[3*__SU+0]
#define _m_type __u.__i[0]
#define _m_lock __u.__i[1]
#define _m_waiters __u.__i[2]
#define _m_type __u.__i[0]
#define _m_lock __u.__i[1]
#define _m_waiters __u.__i[2]