Вот программа, которая путем записи в канал до тех пор, пока он полностью не заполнится, должна находить максимальный размер канала. При выполнении программы я получаю числа, последнее из которых 8191. Но это ведь не размер в байтах. Как получить размер?
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdio.h>
int main() {
int fd[2], result, i = 0;
size_t size;
if (pipe(fd) != 0) {
printf("Can\'t create pipe\n");
return;
}
while (1) {
size = write(fd[1], "Message", 8);
printf("%d\n", i++);
}
return 0;
}