home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V7 / usr / src / cmd / learn / maktee.c < prev    next >
Encoding:
C/C++ Source or Header  |  1979-01-10  |  657 b   |  47 lines

  1. #include "stdio.h"
  2. #include "signal.h"
  3. #include "lrnref"
  4.  
  5. static int oldout;
  6. static char tee[50];
  7.  
  8. maktee()
  9. {
  10.     int fpip[2], in, out;
  11.  
  12.     if (tee[0] == 0)
  13.         sprintf(tee, "%s/tee", direct);
  14.     pipe(fpip);
  15.     in = fpip[0];
  16.     out= fpip[1];
  17.     if (fork() == 0) {
  18.         signal(SIGINT, SIG_IGN);
  19.         close(0);
  20.         close(out);
  21.         dup(in);
  22.         close(in);
  23.         execl (tee, "lrntee", 0);
  24.         fprintf(stderr, "Tee exec failed\n");
  25.         exit(1);
  26.     }
  27.     close(in);
  28.     fflush(stdout);
  29.     oldout = dup(1);
  30.     close(1);
  31.     if (dup(out) != 1)
  32.         fprintf(stderr, "Error making tee for copyout\n");
  33.     close(out);
  34.     return(1);
  35. }
  36.  
  37. untee()
  38. {
  39.     int x;
  40.  
  41.     fflush(stdout);
  42.     close(1);
  43.     dup(oldout);
  44.     close(oldout);
  45.     wait(&x);
  46. }
  47.