Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
26.05.2014
Размер:
704 б
Скачать
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>

#include "fifo.h"

void server(int readfd, int writefd){
	int fd;
	ssize_t n;
	char *str = "SERVER RECIVED:\n";
	
	char buf[MAXSIZE];
	
	
	
	while((n = read(readfd, buf, BUFSIZ)) > 0){
		write(1, str, strlen(str));
		write(1, buf, n);
		write(writefd, buf, n);
	}
	fsync();
}

main(){
	int fdr, fdw;
	
	if((mkfifo(FIFO1, FILE_MODE) < 0) && (errno !=EEXIST))
		perror("can't create fifo1");
	if((mkfifo(FIFO2, FILE_MODE) < 0) && (errno !=EEXIST)){
		unlink(FIFO1);
		perror("can't create fifo2");
	}
	
	fdr = open(FIFO1, O_RDONLY, 0);
	fdw = open(FIFO2, O_WRONLY, 0);
	
	server(fdr, fdw);
	exit(0);
}

Соседние файлы в папке olesha