История изменений
Исправление
Dron,
(текущая версия)
:
#include <sys/select.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <wait.h>
#include <time.h>
int fd[10][2];
fd_set read_set,buff_rs;
struct timeval val;
int main(int argc, char *argv[], char *env[])
{
val.tv_sec = 0;
val.tv_usec = 0;
for (int i = 0; i < 10; ++i)
{
pipe(fd[i]);
FD_SET(fd[i][0], &read_set);
}
buff_rs=read_set;
printf("%d\n", select(30, &buff_rs, NULL, NULL, &val));//если эту строчку закомментировать, ожидаемый результат будет совпадать с результатом работы программы(выведет 10)
for (int i = 0; i < 10; ++i)
{
write(fd[i][1], "sad", 2);
}
buff_rs=read_set;
printf("%d\n", select(30, &buff_rs, NULL, NULL, &val));
return 0;
}
Исходная версия
Dron,
:
#include <sys/select.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <wait.h>
#include <time.h>
int fd[10][2];
fd_set read_set,buff_rs;
struct timeval val;
int main(int argc, char *argv[], char *env[])
{
val.tv_sec = 0;
val.tv_usec = 0;
for (int i = 0; i < 10; ++i)
{
pipe(fd[i]);
FD_SET(fd[i][0], &read_set);
}
buff_rs=read_set;
printf("%d\n", select(30, &buff_rs, NULL, NULL, &val));//если эту строчку закомментировать, ожидаемый результат будет совпадать с результатом работы программы(выведет 10)
for (int i = 0; i < 10; ++i)
{
write(fd[i][1], "sad", 2);
}
buff_rs=read_set;
printf("%d\n", select(30, &buff_rs, NULL, NULL, &val));
return 0;
}