5e664ca add support for io_pgetevents

7 files Authored by Christoph Hellwig 6 years ago, Committed by jmoyer 6 years ago,
    add support for io_pgetevents
    
    This is ppoll/pselect equivalent for io_getevents.  It atomically executes
    the following sequence:
    
    	sigset_t origmask;
    
    	pthread_sigmask(SIG_SETMASK, &sigmask, &origmask);
    	ret = io_getevents(ctx, min_nr, nr, events, timeout);
    	pthread_sigmask(SIG_SETMASK, &origmask, NULL);
    
    And thus allows to safely mix aio and signals, especially together with
    IO_CMD_POLL.  See the pselect(2) man page for a more detailed explanation.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    [JEM: add sigset size parameter to io_pgetevents]
    Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
    
        
file modified
+58 -3
file modified
+1 -1
file added
+56
file modified
+4 -0
file modified
+5 -0
file modified
+1 -0
file modified
+1 -0