Diff for /libaitio/example/test_exec.c between versions 1.1.2.1 and 1.1.2.12

version 1.1.2.1, 2013/12/05 12:45:53 version 1.1.2.12, 2013/12/08 21:11:54
Line 1 Line 1
 #include <stdio.h>  #include <stdio.h>
   #include <unistd.h>
   #include <string.h>
   #include <errno.h>
 #include <aitio.h>  #include <aitio.h>
   #include <sys/wait.h>
   
   
 int  int
 main(int argc, char **argv)  main(int argc, char **argv)
 {  {
           prog_t *p;
           int f;
           int ret = 0;
           char str[BUFSIZ];
   
         if (argc < 2)          if (argc < 2)
                 return 1;                  return 1;
   
        return 0;        p = io_progInit(argv[1], 3, 10);
         if (!p) {
                 ELIBERR(io);
                 return 2;
         } else if ((ret = io_progCheck(p, 0))) {
                 printf("0.exited procs=%d\n", ret);
                 goto end;
         } else {
                 printf("wait for keystroke %p ", p);
                 getchar();
         }
 
         ret = io_progCheck(p, 0);
         if (ret) {
                 printf("1.exited procs=%d\n", ret);
                 goto end;
         }
 
         printf("last=%d\n", array_Last(p->prog_fds));
 
         ret = io_progGrow(p, 8);
         printf("+grow_progs=%d\n", ret);
 
         printf("wait for keystroke %p ", p);
         getchar();
 
         ret = io_progVacuum(p, 5);
         printf("+vacuum_progs=%d\n", ret);
 
         printf("wait for keystroke %p ", p);
         getchar();
 
 again:
         f = io_progAttach(p);
         printf("f=%d\n", f);
         write(f, "v\n", 1);
         memset(str, 0, sizeof str);
         while (read(f, str, sizeof str) > 0) {
                 printf(">>> %s", str);
                 memset(str, 0, sizeof str);
                 read(0, str, sizeof str);
                 if (*str == '.')
                         break;
                 write(f, str, strlen(str));
         }
         io_progDetach(p, f);
 
         printf("(r) wait for keystroke %p ", p);
         if (getchar() == 'a')
                 goto again;
 end:
         io_progDestroy(&p);
         return ret;
 }  }

Removed from v.1.1.2.1  
changed lines
  Added in v.1.1.2.12


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>