112 lwpdir_t *th_list;
113 } tidhash_t;
114
115 /*
116 * Retired tidhash hash tables.
117 */
118 typedef struct ret_tidhash {
119 struct ret_tidhash *rth_next;
120 tidhash_t *rth_tidhash;
121 uint_t rth_tidhash_sz;
122 } ret_tidhash_t;
123
124 struct pool;
125 struct task;
126 struct zone;
127 struct brand;
128 struct corectl_path;
129 struct corectl_content;
130
131 /*
132 * One structure allocated per active process. It contains all
133 * data needed about the process while the process may be swapped
134 * out. Other per-process data (user.h) is also inside the proc structure.
135 * Lightweight-process data (lwp.h) and the kernel stack may be swapped out.
136 */
137 typedef struct proc {
138 /*
139 * Fields requiring no explicit locking
140 */
141 struct vnode *p_exec; /* pointer to a.out vnode */
142 struct as *p_as; /* process address space pointer */
143 struct plock *p_lockp; /* ptr to proc struct's mutex lock */
144 kmutex_t p_crlock; /* lock for p_cred */
145 struct cred *p_cred; /* process credentials */
146 /*
147 * Fields protected by pidlock
148 */
149 int p_swapcnt; /* number of swapped out lwps */
150 char p_stat; /* status of process */
151 char p_wcode; /* current wait code */
152 ushort_t p_pidflag; /* flags protected only by pidlock */
153 int p_wdata; /* current wait return value */
154 pid_t p_ppid; /* process id of parent */
155 struct proc *p_link; /* forward link */
156 struct proc *p_parent; /* ptr to parent process */
157 struct proc *p_child; /* ptr to first child process */
158 struct proc *p_sibling; /* ptr to next sibling proc on chain */
159 struct proc *p_psibling; /* ptr to prev sibling proc on chain */
160 struct proc *p_sibling_ns; /* prt to siblings with new state */
161 struct proc *p_child_ns; /* prt to children with new state */
162 struct proc *p_next; /* active chain link next */
163 struct proc *p_prev; /* active chain link prev */
164 struct proc *p_nextofkin; /* gets accounting info at exit */
165 struct proc *p_orphan;
166 struct proc *p_nextorph;
167 struct proc *p_pglink; /* process group hash chain link next */
168 struct proc *p_ppglink; /* process group hash chain link prev */
169 struct sess *p_sessp; /* session information */
|
112 lwpdir_t *th_list;
113 } tidhash_t;
114
115 /*
116 * Retired tidhash hash tables.
117 */
118 typedef struct ret_tidhash {
119 struct ret_tidhash *rth_next;
120 tidhash_t *rth_tidhash;
121 uint_t rth_tidhash_sz;
122 } ret_tidhash_t;
123
124 struct pool;
125 struct task;
126 struct zone;
127 struct brand;
128 struct corectl_path;
129 struct corectl_content;
130
131 /*
132 * One structure allocated per active process. Per-process data (user.h) is
133 * also inside the proc structure.
134 */
135 typedef struct proc {
136 /*
137 * Fields requiring no explicit locking
138 */
139 struct vnode *p_exec; /* pointer to a.out vnode */
140 struct as *p_as; /* process address space pointer */
141 struct plock *p_lockp; /* ptr to proc struct's mutex lock */
142 kmutex_t p_crlock; /* lock for p_cred */
143 struct cred *p_cred; /* process credentials */
144 /*
145 * Fields protected by pidlock
146 */
147 char p_stat; /* status of process */
148 char p_wcode; /* current wait code */
149 ushort_t p_pidflag; /* flags protected only by pidlock */
150 int p_wdata; /* current wait return value */
151 pid_t p_ppid; /* process id of parent */
152 struct proc *p_link; /* forward link */
153 struct proc *p_parent; /* ptr to parent process */
154 struct proc *p_child; /* ptr to first child process */
155 struct proc *p_sibling; /* ptr to next sibling proc on chain */
156 struct proc *p_psibling; /* ptr to prev sibling proc on chain */
157 struct proc *p_sibling_ns; /* prt to siblings with new state */
158 struct proc *p_child_ns; /* prt to children with new state */
159 struct proc *p_next; /* active chain link next */
160 struct proc *p_prev; /* active chain link prev */
161 struct proc *p_nextofkin; /* gets accounting info at exit */
162 struct proc *p_orphan;
163 struct proc *p_nextorph;
164 struct proc *p_pglink; /* process group hash chain link next */
165 struct proc *p_ppglink; /* process group hash chain link prev */
166 struct sess *p_sessp; /* session information */
|