Re: splice(-> FIFO) never wakes up inotify IN_MODIFY?

From: Ahelenia Ziemiańska
Date: Mon Jun 26 2023 - 08:58:05 EST


On Mon, Jun 26, 2023 at 02:19:42PM +0200, Ahelenia Ziemiańska wrote:
> > splice(2) differentiates three different cases:
> > if (ipipe && opipe) {
> > ...
> > if (ipipe) {
> > ...
> > if (opipe) {
> > ...
> >
> > IN_ACCESS will only be generated for non-pipe input
> > IN_MODIFY will only be generated for non-pipe output
> >
> > Similarly FAN_ACCESS_PERM fanotify permission events
> > will only be generated for non-pipe input.
Sorry, I must've misunderstood this as "splicing to a pipe generates
*ACCESS". Testing reveals this is not the case. So is it really true
that the only way to poll a pipe is a sleep()/read(O_NONBLOCK) loop?

Attachment: signature.asc
Description: PGP signature