Unix Plink: Set O_NONBLOCK on the SIGWINCH pipe.

This should avoid the possibility of the SIGWINCH handler's blocking
when trying to write to the pipe.  This could only happen if we'd
somehow received PIPE_BUF SIGWINCHes without reading the pipe, which
would be difficult to achieve.

While we're at it, also set O_NONBLOCK on the reading side of the pipe,
just in case.
This commit is contained in:
Ben Harris 2016-05-01 17:46:40 +02:00
Родитель 05e802d5fe
Коммит 30cf7371f3
1 изменённых файлов: 3 добавлений и 0 удалений

Просмотреть файл

@ -946,6 +946,9 @@ int main(int argc, char **argv)
perror("pipe");
exit(1);
}
/* We don't want the signal handler to block if the pipe's full. */
nonblock(signalpipe[0]);
nonblock(signalpipe[1]);
putty_signal(SIGWINCH, sigwinch);
/*