Lines Matching refs:subshell

66 static struct subshell
69 struct subshell *prev; /* previous subshell data */
70 struct subshell *pipe; /* subshell where output goes to pipe on fork */
71 Dt_t *var; /* variable table at time of subshell */
73 Dt_t *sfun; /* function scope for subshell */
74 Dt_t *salias;/* alias scope for subshell */
123 register struct subshell *sp = subshell_data->pipe;
175 * This routine creates a temp file if necessary and creates a subshell.
181 register struct subshell *sp = subshell_data;
206 /* setting subpid to 1 causes subshell to exit when reached */
212 shp->subshell = 0;
223 register struct subshell *sp;
225 for(sp = (struct subshell*)subshell_data; sp; sp=sp->prev)
245 register struct subshell *sp = (struct subshell*)subshell_data;
298 save = shp->subshell;
299 shp->subshell = 0;
304 shp->subshell = save;
311 static void nv_restore(struct subshell *sp)
380 * create new one if in a subshell and one doesn't exist and create is non-zero
384 register struct subshell *sp = subshell_data;
398 * create new one if in a subshell and one doesn't exist and create is non-zero
402 register struct subshell *sp = subshell_data;
435 register struct subshell *sp = subshell_data;
447 register struct subshell *sp = subshell_data;
470 struct subshell sub_data;
471 register struct subshell *sp = &sub_data;
476 int16_t subshell;
497 subshell = shp->subshell+1;
498 SH_SUBSHELLNOD->nvalue.s = subshell;
499 shp->subshell = subshell;
536 struct subshell *xp;
628 if(comsub!=2 && jmpval!=SH_JMPSUB && shp->st.trapcom[0] && shp->subshell)
638 if(shp->subshell==0) /* must be child process */
784 if(shp->subshell)
785 SH_SUBSHELLNOD->nvalue.s = --shp->subshell;
786 subshell = shp->subshell;