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