多线程间使用有名管道通信
创建有名管道,如果管道存在则直接使用
//创建有名管道,如果管道存在则直接使用
int n = mkfifo("./myfifo",0664);
if( n < 0 && errno!=EEXIST)
{
perror("mkfifo");
return -1;
}
负责管道写数据线程
void *thread_fun_write(void *p)
{
char *buf = "12345";
int fd;
fd = open("./myfifo",O_WRONLY);
if(fd == -1)
{
printf("write fifo open fail....\n");
exit(-1);
return;
}
while(1)
{
write( fd, buf, strlen(buf)+1 );
puts