Lines Matching refs:pctx
44 struct pctxop *pctx;
46 pctx = kmem_alloc(sizeof (struct pctxop), KM_SLEEP);
47 pctx->save_op = save;
48 pctx->restore_op = restore;
49 pctx->fork_op = fork;
50 pctx->exit_op = exit;
51 pctx->free_op = free;
52 pctx->arg = arg;
53 pctx->next = p->p_pctx;
54 p->p_pctx = pctx;
70 struct pctxop *pctx, *prev_pctx;
73 for (pctx = p->p_pctx; pctx != NULL; pctx = pctx->next) {
74 if (pctx->save_op == save && pctx->restore_op == restore &&
75 pctx->fork_op == fork &&
76 pctx->exit_op == exit && pctx->free_op == free &&
77 pctx->arg == arg) {
79 prev_pctx->next = pctx->next;
81 p->p_pctx = pctx->next;
82 if (pctx->free_op != NULL)
83 (pctx->free_op)(pctx->arg, 0);
84 kmem_free(pctx, sizeof (struct pctxop));
87 prev_pctx = pctx;
95 struct pctxop *pctx;
98 for (pctx = p->p_pctx; pctx != 0; pctx = pctx->next)
99 if (pctx->save_op != NULL)
100 (pctx->save_op)(pctx->arg);
106 struct pctxop *pctx;
109 for (pctx = p->p_pctx; pctx != 0; pctx = pctx->next)
110 if (pctx->restore_op != NULL)
111 (pctx->restore_op)(pctx->arg);
117 struct pctxop *pctx;
119 for (pctx = p->p_pctx; pctx != NULL; pctx = pctx->next)
120 if (pctx->fork_op != NULL)
121 (pctx->fork_op)(p, cp);
134 struct pctxop *pctx;
136 for (pctx = p->p_pctx; pctx != NULL; pctx = pctx->next)
137 if (pctx->exit_op != NULL)
138 (pctx->exit_op)(p);
147 struct pctxop *pctx;
149 while ((pctx = p->p_pctx) != NULL) {
150 p->p_pctx = pctx->next;
151 if (pctx->free_op != NULL)
152 (pctx->free_op)(pctx->arg, isexec);
153 kmem_free(pctx, sizeof (struct pctxop));