static char sccsid
[] = "@(#)pcs.c 4.1 %G%";
/* sub process control */
execsig
=0; loopcnt
=cntval
;
THEN bkptr
->flag
=0; return;
FOR bkptr
=bkpthead
; bkptr
; bkptr
=bkptr
->nxtbkpt
THEN
IF (bkptr
=sbrk(sizeof *bkptr
)) == -1
ELSE bkptr
->nxtbkpt
=bkpthead
;
bkptr
->initcnt
= bkptr
->count
= cntval
;
check
=MAXCOM
-1; comptr
=bkptr
->comm
; rdc(); lp
--;
REP
*comptr
++ = readchar();
PER check
-- ANDF lastc
!=EOR DONE
THEN
printf("%d: killed", pid
); endpcs(); return;
THEN IF
!scanbkpt(dot
) THEN loopcnt
++; FI
ELSE IF
!scanbkpt(entrypt
+2) THEN loopcnt
++; FI
runmode
=SINGLE
; execsig
=getsig(signo
);
/* continue with optional signal */
case 'c': case 'C': case 0:
IF pid
==0 THEN
error(NOPCS
); FI
runmode
=CONTIN
; execsig
=getsig(signo
);
IF loopcnt
>0 ANDF
runpcs(runmode
,execsig
)
THEN
printf("breakpoint%16t");
ELSE
printf("stopped at%16t");