1: # include "ctlmod.h" 2: # include <sccs.h> 3: 4: SCCSID(@(#)cm_reset.c 8.1 12/31/84) 5: 6: /* 7: ** CM_RESET -- reset control module 8: ** 9: ** Called on a RESET block, this routine should reset the 10: ** state to something well known. Useful for debugging. 11: ** 12: ** Parameters: 13: ** none 14: ** 15: ** Returns: 16: ** never -- non-locally to top of CM loop. 17: ** 18: ** Side Effects: 19: ** 'Syncs' is cleared. 20: ** 'Qbuf' is reset. 21: ** 'Cm.cm_input' is set to the default input. 22: ** All extra files are closed. 23: ** 24: ** Trace Flags: 25: ** none 26: */ 27: 28: cm_reset() 29: { 30: register int i; 31: extern jmp_buf CmReset; 32: extern long CmOfiles; 33: 34: /* clear all Syncs */ 35: for (i = 0; i < CM_MAXPROC; i++) 36: Syncs[i] = 0; 37: 38: /* close and report all extraneous files */ 39: closeall(TRUE, CmOfiles); 40: 41: /* return to top of loop */ 42: longjmp(CmReset, 3); 43: }