1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#include <stdio.h>
#include "newcalls.h"
int main()
{
int fds[2];
_pipe(fds);
printf("opened pipe / in fd=%d,out fd=%d\n",fds[0],fds[1]);
int pid=_fork();
if(pid)
{
while(1) // read forever from our pipe and echo to stdout
{
char buf[256];
int len=fread(buf,1,255,fds[0]);
printf("%s",buf);
}
}
else
{
// write to our pipe
fwrite("Hello\n",1,6,fds[1]);
fwrite("Bello\n",1,6,fds[1]);
fwrite("Gello\n",1,6,fds[1]);
// hang forever
while(1);
}
}
|