1: # include "../pipes.h" 2: 3: /* 4: ** DEFAULT PROC_ERROR ROUTINE 5: ** 6: ** This routine handles the processing of errors for a typical 7: ** process. Please feel free to redefine it if you need other 8: ** features. 9: */ 10: 11: proc_error(s1, rpipnum) 12: struct pipfrmt *s1; 13: int rpipnum; 14: { 15: register struct pipfrmt *s; 16: register int fd; 17: register char *b; 18: char buf[120]; 19: struct pipfrmt t; 20: 21: fd = rpipnum; 22: s = s1; 23: b = buf; 24: if (fd != R_down) 25: syserr("proc_error: bad pipe"); 26: wrpipe(P_PRIME, &t, s->exec_id, 0, s->func_id); 27: t.err_id = s->err_id; 28: 29: copypipes(s, fd, &t, W_up); 30: rdpipe(P_PRIME, s); 31: }