Lines Matching defs:lt
529 ptrace_set_siginfo(struct proc *t, struct lwp **lt, struct ptrace_methods *ptm,
701 ptrace_lwpinfo(struct proc *t, struct lwp **lt, void *addr, size_t data)
714 lwp_delref(*lt);
717 *lt = lwp_find_first(t);
719 *lt = lwp_find(t, tmp);
720 if (*lt == NULL) {
724 *lt = LIST_NEXT(*lt, l_sibling);
727 while (*lt != NULL && (!lwp_alive(*lt) ||
728 ((*lt)->l_flag & LW_SYSTEM) != 0))
729 *lt = LIST_NEXT(*lt, l_sibling);
733 if (*lt) {
734 lwp_addref(*lt);
735 pl.pl_lwpid = (*lt)->l_lid;
737 if ((*lt)->l_flag & LW_WSUSPEND)
745 else if ((*lt)->l_lid == t->p_sigctx.ps_lwp
762 ptrace_lwpstatus(struct proc *t, struct ptrace_methods *ptm, struct lwp **lt,
779 lwp_delref(*lt);
783 *lt = lwp_find_first(t);
785 *lt = lwp_find(t, tmp);
786 if (*lt == NULL) {
790 *lt = LIST_NEXT(*lt, l_sibling);
793 while (*lt != NULL && (!lwp_alive(*lt) ||
794 ((*lt)->l_flag & LW_SYSTEM) != 0))
795 *lt = LIST_NEXT(*lt, l_sibling);
797 if (*lt == NULL) {
802 lwp_addref(*lt);
805 pls.pl_lwpid = (*lt)->l_lid;
807 if ((error = ptrace_update_lwp(t, lt, pls.pl_lwpid)) != 0)
811 l = *lt;
829 ptrace_startstop(struct proc *t, struct lwp **lt, int rq, void *addr,
834 if ((error = ptrace_update_lwp(t, lt, data)) != 0)
837 DPRINTF(("%s: lwp=%d request=%d\n", __func__, (*lt)->l_lid, rq));
838 lwp_lock(*lt);
840 (*lt)->l_flag |= LW_DBGSUSPEND;
842 (*lt)->l_flag &= ~LW_DBGSUSPEND;
843 if ((*lt)->l_flag != LSSUSPENDED)
844 (*lt)->l_stat = LSSTOP;
846 lwp_unlock(*lt);
869 ptrace_regs(struct lwp *l, struct lwp **lt, int rq, struct ptrace_methods *ptm,
877 t = (*lt)->l_proc; /* traced */
879 if ((error = ptrace_update_lwp(t, lt, data)) != 0)
892 if (!process_validregs(*lt))
901 if (!process_validfpregs(*lt))
910 if (!process_validdbregs(*lt))
936 error = (*func)(l, *lt, &uio);
943 ptrace_sendsig(struct lwp *l, int req, struct proc *t, struct lwp *lt, int signo, int resume_all)
967 lwp_unstop(lt);
984 lt->l_lid, signo, resume_all));
990 ptrace_dumpcore(struct lwp *lt, char *path, size_t len)
1005 DPRINTF(("%s: lwp=%d\n", __func__, lt->l_lid));
1006 MODULE_HOOK_CALL(coredump_hook, (lt, path), 0, error);
1014 ptrace_doio(struct lwp *l, struct proc *t, struct lwp *lt,
1072 error = process_domem(l, lt, &uio);
1086 struct lwp *lt = NULL;
1120 if ((lt = lwp_find_first(t)) == NULL) {
1127 KASSERT(lt != NULL);
1128 lwp_addref(lt);
1171 if ((error = ptrace_doio(l, t, lt, &piod, addr, true)) != 0)
1193 if ((error = ptrace_doio(l, t, lt, &piod, addr, false)) != 0)
1204 error = ptrace_dumpcore(lt, addr, data);
1266 lwp_delref2 (lt);
1267 lt = lwp_find(t, tmp);
1268 if (lt == NULL) {
1272 lwp_addref(lt);
1299 if (lt->l_flag &
1320 if (lt->l_flag & (LW_WSUSPEND | LW_DBGSUSPEND)) {
1342 error = process_set_pc(lt, addr);
1360 error = process_sstep(lt,
1361 ISSET(lt->l_pflag, LP_SINGLESTEP) || req == PT_STEP);
1385 CLR(lt->l_pflag, LP_SINGLESTEP);
1388 error = ptrace_sendsig(l, req, t, lt, signo, resume_all);
1406 if ((error = ptrace_update_lwp(t, <, data)) != 0)
1410 SET(lt->l_pflag, LP_SINGLESTEP);
1412 CLR(lt->l_pflag, LP_SINGLESTEP);
1452 error = ptrace_lwpinfo(t, <, addr, data);
1456 error = ptrace_set_siginfo(t, <, ptm, addr, data);
1465 error = ptrace_startstop(t, <, req, addr, data);
1469 error = ptrace_lwpstatus(t, ptm, <, addr, data, false);
1473 error = ptrace_lwpstatus(t, ptm, <, addr, data, true);
1491 error = ptrace_regs(l, <, req, ptm, addr, data);
1497 error = ptrace_machdep_dorequest(l, <, req, addr, data);
1507 if (lt != NULL)
1508 lwp_delref(lt);