Можно ли поймать SIGIO, приходящее с существующего чужого терминала? Пример: #include <stdio.h> #include <fcntl.h> #include <stdlib.h> #include <signal.h> #include <errno.h> #include <sys/types.h> #include <sys/stat.h> void SigIOhandler(int sig) { printf("SIGIO received\n"); } int main() { int pfd; if ((pfd = open("/dev/pts/5", O_RDWR | O_NONBLOCK, 0666)) < 0) { perror("Open pseudo device"); exit(1); } signal(SIGIO, SigIOhandler); fcntl(pfd, F_SETFL, O_ASYNC | O_NONBLOCK); sleep(10); close(pfd); return 0; } В этом случае при вводе/выводе в /dev/pts/5, он просто закрывается и сигнала, естественно, нет.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум locks (2014)
- Форум Чтение выхлопа процесса без ожидания его завершения (2019)
- Форум Системный вызов open() close() (2017)
- Форум Help! Почему вызов ioctl FIONREAD для файла /dev/random завершается неудачей?! (2003)
- Форум ptrace() и сигналы (2018)
- Форум non-blocking write (2011)
- Форум Системный вызов sendfile ??? (2008)
- Форум Семафоры (2005)
- Форум вопрос по функции select (2014)
- Форум как включить поддержку больших файлов? (2008)