Lines Matching defs:sess

1087 	struct session *sess;
1089 for (sess = SESSHASH(sessid)->lh_first; sess != 0; sess = sess->s_hash.le_next)
1090 if (sess->s_sid == sessid)
1091 return (sess);
1192 struct session *sess;
1197 MALLOC_ZONE(sess, struct session *,
1199 if (sess == NULL)
1201 sess->s_leader = p;
1202 sess->s_sid = p->p_pid;
1203 sess->s_count = 1;
1204 sess->s_ttyvp = NULL;
1205 sess->s_ttyp = TTY_NULL;
1206 sess->s_flags = 0;
1207 sess->s_listflags = 0;
1208 sess->s_ttypgrpid = NO_PID;
1210 lck_mtx_init(&sess->s_mlock, proc_mlock_grp, proc_lck_attr);
1212 lck_mtx_init(&sess->s_mlock, proc_lck_grp, proc_lck_attr);
1214 bcopy(procsp->s_login, sess->s_login,
1215 sizeof(sess->s_login));
1218 LIST_INSERT_HEAD(SESSHASH(sess->s_sid), sess, s_hash);
1220 pgrp->pg_session = sess;
2703 session_lock(struct session * sess)
2705 lck_mtx_lock(&sess->s_mlock);
2710 session_unlock(struct session * sess)
2712 lck_mtx_unlock(&sess->s_mlock);
2765 struct session * sess = SESSION_NULL;
2778 if ((p->p_pgrp != PGRP_NULL) && ((sess = p->p_pgrp->pg_session) != SESSION_NULL)) {
2779 if ((sess->s_listflags & (S_LIST_TERM | S_LIST_DEAD)) != 0)
2781 sess->s_count++;
2784 return(sess);
2788 session_rele(struct session *sess)
2791 if (--sess->s_count == 0) {
2792 if ((sess->s_listflags & (S_LIST_TERM | S_LIST_DEAD)) != 0)
2794 sess->s_listflags |= S_LIST_TERM;
2795 LIST_REMOVE(sess, s_hash);
2796 sess->s_listflags |= S_LIST_DEAD;
2797 if (sess->s_count != 0)
2801 lck_mtx_destroy(&sess->s_mlock, proc_mlock_grp);
2803 lck_mtx_destroy(&sess->s_mlock, proc_lck_grp);
2805 FREE_ZONE(sess, sizeof(struct session), M_SESSION);