|
|
| version 1.1.2.9, 2013/12/06 01:07:40 | version 1.2, 2013/12/15 22:57:20 |
|---|---|
| Line 21 main(int argc, char **argv) | Line 21 main(int argc, char **argv) |
| if (!p) { | if (!p) { |
| ELIBERR(io); | ELIBERR(io); |
| return 2; | return 2; |
| } else if ((ret = io_progCheck(p))) { | } else if ((ret = io_progCheck(p, 0))) { |
| printf("0.exited procs=%d\n", ret); | printf("0.exited procs=%d\n", ret); |
| goto end; | goto end; |
| } else { | } else { |
| Line 29 main(int argc, char **argv) | Line 29 main(int argc, char **argv) |
| getchar(); | getchar(); |
| } | } |
| ret = io_progCheck(p); | ret = io_progCheck(p, 0); |
| if (ret) { | if (ret) { |
| printf("1.exited procs=%d\n", ret); | printf("1.exited procs=%d\n", ret); |
| goto end; | goto end; |
| Line 50 main(int argc, char **argv) | Line 50 main(int argc, char **argv) |
| getchar(); | getchar(); |
| again: | again: |
| f = io_progAttach(p); | f = io_progAttach(p, 0); |
| printf("f=%d\n", f); | printf("f=%d\n", f); |
| write(f, "v\n", 2); | write(f, "v\n", 1); |
| memset(str, 0, sizeof str); | |
| while (read(f, str, sizeof str) > 0) { | while (read(f, str, sizeof str) > 0) { |
| printf(">>> %s", str); | printf(">>> %s", str); |
| memset(str, 0, sizeof str); | |
| read(0, str, sizeof str); | read(0, str, sizeof str); |
| if (*str == '.') | if (*str == '.') |
| break; | break; |
| Line 62 again: | Line 64 again: |
| } | } |
| io_progDetach(p, f); | io_progDetach(p, f); |
| printf("wait for keystroke %p ", p); | printf("(r) wait for keystroke %p ", p); |
| if (getchar() == 'a') | if (getchar() == 'a') |
| goto again; | goto again; |
| end: | end: |