Lines Matching refs:self
55 pthread_t self = __pthread_self();
58 self->canceldisable = 1;
59 self->cancelasync = 0;
60 self->result = result;
62 while (self->cancelbuf) {
63 void (*f)(void *) = self->cancelbuf->__f;
64 void *x = self->cancelbuf->__x;
65 self->cancelbuf = self->cancelbuf->__next;
78 LOCK(self->killlock);
87 if (self->next == self) {
89 UNLOCK(self->killlock);
101 while ((rp=self->robust_list.head) && rp != &self->robust_list.head) {
106 self->robust_list.pending = rp;
107 self->robust_list.head = *rp;
109 self->robust_list.pending = 0;
124 self->next->prev = self->prev;
125 self->prev->next = self->next;
126 self->prev = self->next = self;
130 int state = a_cas(&self->detach_state, DT_JOINABLE, DT_EXITING);
133 if (state==DT_DETACHED && self->map_base) {
136 if (self->robust_list.off)
141 __unmapself(self->map_base, self->map_size);
145 a_store(&self->detach_state, DT_EXITED);
146 __wake(&self->detach_state, 1, 1);
152 if (self->detach_state == DT_DETACHED) {
157 self->tid = 0;
161 UNLOCK(self->killlock);
168 struct pthread *self = __pthread_self();
169 cb->__next = self->cancelbuf;
170 self->cancelbuf = cb;
238 struct pthread *self, *new;
248 self = __pthread_self();
305 new->self = new;
314 new->canary = self->canary;
315 new->sysinfo = self->sysinfo;
350 new->next = self->next;
351 new->prev = self;