On Mon 26-06-23 14:57:55, Ahelenia Ziemiańska wrote: > 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? So why doesn't poll(3) work? AFAIK it should... Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR