...
char buf[4];
size_t count = sizeof(buf);
while (count != 0 && (ret_val = read (fd, buf, count)) !=0) {
...
Как послать сигнал во время вызова read ()? Необходимо, чтобы сигнал дошел до процесса после того, как он считал первый байт из блока длиной count, но до считывания последнего байта из этого блока.