__pthread_s
struct __pthread_s;
typedef struct __pthread_s *pthread_t;
struct __pthread_s;
struct tls_tcb *_tcb_ctor(struct __pthread_s *, int);
_tcb_ctor(struct __pthread_s *thread, int initial)
TAILQ_HEAD(, __pthread_s) worklist;
thread = __malloc(sizeof(struct __pthread_s));
static TAILQ_HEAD(, __pthread_s) free_threadq;
LIST_HEAD(thread_hash_head, __pthread_s);
TAILQ_HEAD(mutex_head, __pthread_s) m_queue;
struct __pthread_s *m_owner;
TAILQ_ENTRY(__pthread_s) tle; /* link for all threads in process */
TAILQ_ENTRY(__pthread_s) gcle;
LIST_ENTRY(__pthread_s) hle;
struct __pthread_s *joiner;
TAILQ_ENTRY(__pthread_s) sqe;
typedef TAILQ_HEAD(thread_head, __pthread_s) thread_head;
int _thread_off_attr_flags = offsetof(struct __pthread_s, attr.flags);
int _thread_off_event_buf = offsetof(struct __pthread_s, event_buf);
int _thread_off_event_mask = offsetof(struct __pthread_s, event_mask);
int _thread_off_next = offsetof(struct __pthread_s, tle.tqe_next);
int _thread_off_report_events = offsetof(struct __pthread_s, report_events);
int _thread_off_state = offsetof(struct __pthread_s, state);
int _thread_off_tcb = offsetof(struct __pthread_s, tcb);
int _thread_off_tid = offsetof(struct __pthread_s, tid);
struct __pthread_s;
typedef struct __pthread_s *pthread_t;