Lines Matching refs:L
116 (nmap = pread(mapfd, Pmap, statb.st_size, 0L)) <= 0 || in Pread_maps_live()
161 auxv[naux].a_un.a_val = 0L; in Pread_aux_live()
1183 struct ps_lwphandle *L; in Pfree() local
1185 while ((L = P->hashtab[i]) != NULL) in Pfree()
1186 Lfree_internal(P, L); in Pfree()
3105 struct ps_lwphandle *L; in Lfind() local
3108 (L = *Lp) != NULL; Lp = &L->lwp_hash) in Lfind()
3109 if (L->lwp_id == lwpid) in Lfind()
3123 struct ps_lwphandle *L; in Lgrab() local
3139 else if ((L = malloc(sizeof (struct ps_lwphandle))) == NULL) in Lgrab()
3147 (void) memset(L, 0, sizeof (*L)); in Lgrab()
3148 L->lwp_ctlfd = -1; in Lgrab()
3149 L->lwp_statfd = -1; in Lgrab()
3150 L->lwp_proc = P; in Lgrab()
3151 L->lwp_id = lwpid; in Lgrab()
3152 *Lp = L; /* insert into the hash table */ in Lgrab()
3155 if (getlwpstatus(P, lwpid, &L->lwp_status) == -1) { in Lgrab()
3159 L->lwp_state = PS_DEAD; in Lgrab()
3162 return (L); in Lgrab()
3188 L->lwp_statfd = fd; in Lgrab()
3190 if (pread(fd, &L->lwp_status, sizeof (L->lwp_status), (off_t)0) < 0) { in Lgrab()
3219 L->lwp_ctlfd = fd; in Lgrab()
3221 L->lwp_state = in Lgrab()
3222 ((L->lwp_status.pr_flags & (PR_STOPPED|PR_ISTOP)) in Lgrab()
3228 return (L); in Lgrab()
3231 Lfree_internal(P, L); in Lgrab()
3267 Lfree(struct ps_lwphandle *L) in Lfree() argument
3269 struct ps_prochandle *P = L->lwp_proc; in Lfree()
3272 Lfree_internal(P, L); in Lfree()
3277 Lfree_internal(struct ps_prochandle *P, struct ps_lwphandle *L) in Lfree_internal() argument
3279 *Lfind(P, L->lwp_id) = L->lwp_hash; /* delete from hash table */ in Lfree_internal()
3280 if (L->lwp_ctlfd >= 0) in Lfree_internal()
3281 (void) close(L->lwp_ctlfd); in Lfree_internal()
3282 if (L->lwp_statfd >= 0) in Lfree_internal()
3283 (void) close(L->lwp_statfd); in Lfree_internal()
3286 (void) memset(L, 0, sizeof (*L)); in Lfree_internal()
3287 L->lwp_ctlfd = -1; in Lfree_internal()
3288 L->lwp_statfd = -1; in Lfree_internal()
3290 free(L); in Lfree_internal()
3297 Lstate(struct ps_lwphandle *L) in Lstate() argument
3299 return (L->lwp_state); in Lstate()
3308 Lctlfd(struct ps_lwphandle *L) in Lctlfd() argument
3310 return (L->lwp_ctlfd); in Lctlfd()
3319 Lpsinfo(struct ps_lwphandle *L) in Lpsinfo() argument
3321 if (Plwp_getpsinfo(L->lwp_proc, L->lwp_id, &L->lwp_psinfo) == -1) in Lpsinfo()
3324 return (&L->lwp_psinfo); in Lpsinfo()
3333 Lstatus(struct ps_lwphandle *L) in Lstatus() argument
3335 return (&L->lwp_status); in Lstatus()
3342 Lprochandle(struct ps_lwphandle *L) in Lprochandle() argument
3344 return (L->lwp_proc); in Lprochandle()
3352 Lsync(struct ps_lwphandle *L) in Lsync() argument
3354 int ctlfd = L->lwp_ctlfd; in Lsync()
3359 if (L->lwp_flags & SETHOLD) { in Lsync()
3363 iov[n].iov_base = (caddr_t)&L->lwp_status.pr_lwphold; in Lsync()
3364 iov[n++].iov_len = sizeof (L->lwp_status.pr_lwphold); in Lsync()
3366 if (L->lwp_flags & SETREGS) { in Lsync()
3370 iov[n].iov_base = (caddr_t)&L->lwp_status.pr_reg[0]; in Lsync()
3371 iov[n++].iov_len = sizeof (L->lwp_status.pr_reg); in Lsync()
3377 L->lwp_flags &= ~(SETHOLD|SETREGS); in Lsync()
3386 Lstopstatus(struct ps_lwphandle *L, in Lstopstatus() argument
3390 int ctlfd = L->lwp_ctlfd; in Lstopstatus()
3395 switch (L->lwp_state) { in Lstopstatus()
3416 dprintf("Lstopstatus: corrupted state: %d\n", L->lwp_state); in Lstopstatus()
3436 if (L->lwp_state == PS_DEAD) in Lstopstatus()
3444 Lsync(L); in Lstopstatus()
3446 if (pread(L->lwp_statfd, &L->lwp_status, in Lstopstatus()
3447 sizeof (L->lwp_status), (off_t)0) < 0) in Lstopstatus()
3458 L->lwp_state = PS_LOST; in Lstopstatus()
3479 L->lwp_state = PS_UNDEAD; in Lstopstatus()
3485 if ((L->lwp_status.pr_flags & (PR_STOPPED|PR_ISTOP)) in Lstopstatus()
3487 L->lwp_state = PS_RUN; in Lstopstatus()
3495 L->lwp_state = PS_STOP; in Lstopstatus()
3498 prldump("Lstopstatus", &L->lwp_status); in Lstopstatus()
3500 switch (L->lwp_status.pr_why) { in Lstopstatus()
3521 Lwait(struct ps_lwphandle *L, uint_t msec) in Lwait() argument
3523 return (Lstopstatus(L, PCWSTOP, msec)); in Lwait()
3530 Lstop(struct ps_lwphandle *L, uint_t msec) in Lstop() argument
3532 return (Lstopstatus(L, PCSTOP, msec)); in Lstop()
3539 Ldstop(struct ps_lwphandle *L) in Ldstop() argument
3541 return (Lstopstatus(L, PCDSTOP, 0)); in Ldstop()
3548 Lgetareg(struct ps_lwphandle *L, int regno, prgreg_t *preg) in Lgetareg() argument
3555 if (L->lwp_state != PS_STOP) { in Lgetareg()
3560 *preg = L->lwp_status.pr_reg[regno]; in Lgetareg()
3568 Lputareg(struct ps_lwphandle *L, int regno, prgreg_t reg) in Lputareg() argument
3575 if (L->lwp_state != PS_STOP) { in Lputareg()
3580 L->lwp_status.pr_reg[regno] = reg; in Lputareg()
3581 L->lwp_flags |= SETREGS; /* set registers before continuing */ in Lputareg()
3586 Lsetrun(struct ps_lwphandle *L, in Lsetrun() argument
3590 int ctlfd = L->lwp_ctlfd; in Lsetrun()
3600 if (L->lwp_state != PS_STOP && in Lsetrun()
3601 (L->lwp_status.pr_flags & sbits) == 0) { in Lsetrun()
3606 Lsync(L); /* flush registers */ in Lsetrun()
3616 } else if (sig && sig != L->lwp_status.pr_cursig) { in Lsetrun()
3631 L->lwp_proc->info_valid = 0; /* will need to update map and file info */ in Lsetrun()
3632 L->lwp_proc->state = PS_RUN; in Lsetrun()
3633 L->lwp_state = PS_RUN; in Lsetrun()
3637 if (errno != EBUSY || L->lwp_status.pr_why != PR_JOBCONTROL) in Lsetrun()
3638 return (Lstopstatus(L, PCNULL, 0)); in Lsetrun()
3645 Lclearsig(struct ps_lwphandle *L) in Lclearsig() argument
3647 int ctlfd = L->lwp_ctlfd; in Lclearsig()
3652 L->lwp_status.pr_cursig = 0; in Lclearsig()
3657 Lclearfault(struct ps_lwphandle *L) in Lclearfault() argument
3659 int ctlfd = L->lwp_ctlfd; in Lclearfault()
3673 Lxecbkpt(struct ps_lwphandle *L, ulong_t saved) in Lxecbkpt() argument
3675 struct ps_prochandle *P = L->lwp_proc; in Lxecbkpt()
3678 if (L->lwp_state != PS_STOP) { in Lxecbkpt()
3683 Lsync(L); in Lxecbkpt()
3684 error = execute_bkpt(L->lwp_ctlfd, in Lxecbkpt()
3685 &P->status.pr_flttrace, &L->lwp_status.pr_lwphold, in Lxecbkpt()
3686 L->lwp_status.pr_reg[R_PC], saved); in Lxecbkpt()
3687 rv = Lstopstatus(L, PCNULL, 0); in Lxecbkpt()
3690 if (L->lwp_status.pr_why == PR_JOBCONTROL && in Lxecbkpt()
3692 L->lwp_state = PS_RUN; in Lxecbkpt()
3709 Lxecwapt(struct ps_lwphandle *L, const prwatch_t *wp) in Lxecwapt() argument
3711 struct ps_prochandle *P = L->lwp_proc; in Lxecwapt()
3714 if (L->lwp_state != PS_STOP) { in Lxecwapt()
3719 Lsync(L); in Lxecwapt()
3720 error = execute_wapt(L->lwp_ctlfd, in Lxecwapt()
3721 &P->status.pr_flttrace, &L->lwp_status.pr_lwphold, wp); in Lxecwapt()
3722 rv = Lstopstatus(L, PCNULL, 0); in Lxecwapt()
3725 if (L->lwp_status.pr_why == PR_JOBCONTROL && in Lxecwapt()
3727 L->lwp_state = PS_RUN; in Lxecwapt()
3740 Lstack(struct ps_lwphandle *L, stack_t *stkp) in Lstack() argument
3742 struct ps_prochandle *P = L->lwp_proc; in Lstack()
3743 uintptr_t addr = L->lwp_status.pr_ustack; in Lstack()
3763 Lmain_stack(struct ps_lwphandle *L, stack_t *stkp) in Lmain_stack() argument
3765 struct ps_prochandle *P = L->lwp_proc; in Lmain_stack()
3767 if (Lstack(L, stkp) != 0) in Lmain_stack()
3779 ucontext_t *ctxp = (void *)L->lwp_status.pr_oldcontext; in Lmain_stack()
3786 ucontext32_t *ctxp = (void *)L->lwp_status.pr_oldcontext; in Lmain_stack()
3801 Lalt_stack(struct ps_lwphandle *L, stack_t *stkp) in Lalt_stack() argument
3803 if (L->lwp_status.pr_altstack.ss_flags & SS_DISABLE) { in Lalt_stack()
3808 *stkp = L->lwp_status.pr_altstack; in Lalt_stack()