Cygwin: signal: implement signalfd

First cut of a signalfd implementation.

Still TODO: Non-polling select.

This should mostly work as on Linux except for missing support
for some members of struct signalfd_siginfo, namely ssi_fd,
ssi_band (both SIGIO/SIGPOLL, not fully implemented) and ssi_trapno
(HW exception, required HW support).

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen
2019-01-13 23:13:33 +01:00
parent 8ae26f96ae
commit 9d13a2995c
17 changed files with 397 additions and 4 deletions

View File

@@ -1345,6 +1345,9 @@ fhandler_base::fstat (struct stat *buf)
case FH_PIPER:
buf->st_mode = S_IFIFO | S_IRUSR;
break;
case FH_SIGNALFD:
buf->st_mode = S_IRUSR | S_IWUSR;
break;
default:
buf->st_mode = S_IFCHR | STD_RBITS | STD_WBITS | S_IWGRP | S_IWOTH;
break;