Home | History | Annotate | Download | only in libdwfl

Lines Matching defs:thread

46 	Ebl *ebl = state->thread->process->ebl;
73 Dwfl_Thread *thread = state->thread;
74 assert (thread->unwound == state);
75 thread->unwound = state->unwound;
80 thread_free_all_states (Dwfl_Thread *thread)
82 while (thread->unwound)
83 state_free (thread->unwound);
87 state_alloc (Dwfl_Thread *thread)
89 assert (thread->unwound == NULL);
90 Ebl *ebl = thread->process->ebl;
98 state->thread = thread;
103 thread->unwound = state;
232 dwfl_thread_dwfl (Dwfl_Thread *thread)
234 return thread->process->dwfl;
239 dwfl_thread_tid (Dwfl_Thread *thread)
241 return thread->tid;
248 return state->thread;
253 dwfl_getthreads (Dwfl *dwfl, int (*callback) (Dwfl_Thread *thread, void *arg),
269 Dwfl_Thread thread;
270 thread.process = process;
271 thread.unwound = NULL;
272 thread.callbacks_arg = NULL;
275 thread.tid = process->callbacks->next_thread (dwfl,
277 &thread.callbacks_arg);
278 if (thread.tid < 0)
281 thread_free_all_states (&thread);
285 if (thread.tid == 0)
287 thread_free_all_states (&thread);
291 int err = callback (&thread, arg);
294 thread_free_all_states (&thread);
297 assert (thread.unwound == NULL);
307 int (*callback) (Dwfl_Thread *thread, void *arg);
313 get_one_thread_cb (Dwfl_Thread *thread, void *arg)
316 if (! oa->seen && INTUSE(dwfl_thread_tid) (thread) == oa->tid)
319 oa->ret = oa->callback (thread, oa->arg);
330 int (*callback) (Dwfl_Thread *thread, void *arg),
348 Dwfl_Thread thread;
349 thread.process = process;
350 thread.unwound = NULL;
351 thread.callbacks_arg = NULL;
354 &thread.callbacks_arg))
357 thread.tid = tid;
358 err = callback (&thread, arg);
359 thread_free_all_states (&thread);
390 get_one_thread_frames_cb (Dwfl_Thread *thread, void *arg)
393 return INTUSE(dwfl_thread_getframes) (thread, ot->callback, ot->arg);
407 dwfl_thread_getframes (Dwfl_Thread *thread,
411 if (thread->unwound != NULL)
417 Ebl *ebl = thread->process->ebl;
423 if (state_alloc (thread) == NULL)
428 Dwfl_Process *process = thread->process;
429 if (! process->callbacks->set_initial_registers (thread,
430 thread->callbacks_arg))
432 thread_free_all_states (thread);
435 if (! state_fetch_pc (thread->unwound))
438 process->callbacks->thread_detach (thread, thread->callbacks_arg);
439 thread_free_all_states (thread);
446 state = thread->unwound;
451 process->callbacks->thread_detach (thread, thread->callbacks_arg);
452 thread_free_all_states (thread);
457 state_free (thread->unwound);
458 state = thread->unwound;
464 process->callbacks->thread_detach (thread, thread->callbacks_arg);
467 thread_free_all_states (thread);
472 thread_free_all_states (thread);