Добавил:
Fragga
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:лабораторки по ОС препод Челноков / 2семестр / wi2 / olesha / lab23 / 3server
.c#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);
}