Lines Matching refs:stp

246 sess_ctty_clear(sess_t *sp, stdata_t *stp)  in sess_ctty_clear()  argument
254 ASSERT(MUTEX_HELD(&stp->sd_lock) && MUTEX_HELD(&pidlock) && in sess_ctty_clear()
264 stp->sd_pgidp = NULL; in sess_ctty_clear()
265 stp->sd_sidp = NULL; in sess_ctty_clear()
269 sess_ctty_set(proc_t *p, sess_t *sp, stdata_t *stp) in sess_ctty_set() argument
274 ASSERT(MUTEX_HELD(&stp->sd_lock) && MUTEX_HELD(&pidlock) && in sess_ctty_set()
285 sp->s_vp = makectty(stp->sd_vnode); in sess_ctty_set()
290 stp->sd_flag |= STRISTTY; /* just to be sure */ in sess_ctty_set()
291 stp->sd_sidp = sp->s_sidp; in sess_ctty_set()
292 stp->sd_pgidp = sp->s_sidp; in sess_ctty_set()
296 strctty(stdata_t *stp) in strctty() argument
314 mutex_enter(&stp->sd_lock); /* protects sd_pgidp/sd_sidp */ in strctty()
320 if (((stp->sd_flag & (STRHUP|STRDERR|STWRERR|STPLEX)) != 0) || in strctty()
321 (stp->sd_sidp != NULL) || /* stp already ctty? */ in strctty()
327 mutex_exit(&stp->sd_lock); in strctty()
348 mutex_exit(&stp->sd_lock); in strctty()
360 sess_ctty_set(p, sp, stp); in strctty()
365 mutex_exit(&stp->sd_lock); in strctty()
385 stdata_t *stp; in freectty_lock() local
401 stp = sp->s_vp->v_stream; in freectty_lock()
431 mutex_enter(&stp->sd_lock); /* protects sd_pgidp/sd_sidp */ in freectty_lock()
449 mutex_exit(&stp->sd_lock); in freectty_lock()
461 ASSERT(stp == sp->s_vp->v_stream); in freectty_lock()
474 *stpp = stp; in freectty_lock()
486 freectty_signal(proc_t *p, sess_t *sp, stdata_t *stp, boolean_t at_exit) in freectty_signal() argument
489 ASSERT(MUTEX_HELD(&stp->sd_lock) && MUTEX_HELD(&pidlock) && in freectty_signal()
514 pgsignal(stp->sd_pgidp, SIGHUP); in freectty_signal()
517 if (!(stp->sd_flag & STRHUP)) in freectty_signal()
518 strhup(stp); in freectty_signal()
520 mutex_exit(&stp->sd_lock); in freectty_signal()
533 stdata_t *stp; in freectty() local
552 if (!freectty_lock(p, &sp, &vp, &stp, at_exit)) in freectty()
555 if (freectty_signal(p, sp, stp, at_exit)) { in freectty()
586 mutex_exit(&stp->sd_lock); in freectty()
623 pgidp = stp->sd_pgidp; in freectty()
624 sidp = stp->sd_sidp; in freectty()
627 sess_ctty_clear(sp, stp); in freectty()
640 mutex_exit(&stp->sd_lock); in freectty()