aim of this patch is to be able to implement sigevent parameter of POSIX lio_listio(). It is applied on my previous patch implementing signal on an AIO request completion. I create a new request type IO_CMD_EVENT to put in an io_submit() iocbs, parameters are signo and pid. All following requests of the list submited by the io_submit() are in the same group, and when all these requests are completed a signal signo is sent to pid (if pid = 0, it means itself, otherwise it's a thread id). We can have several groups of requests in one io_submit(), each separated by a IO_CMD_EVENT. A group can be broken without starting a new one with IO_CMD_EVENT with a signo equal to 0. Example: iocbs[...] is : R0: IO_CMD_EVENT signo = SIGRTMIN + 1, pid = 0 R1: IO_CMD_PREAD ... R2: IO_CMD_PREAD ... R3: IO_CMD_EVENT signo = SIGRTMIN + 2, pid = 1238 R4: IO_CMD_PWRITE ... R5: IO_CMD_PWRITE ... R6: IO_CMD_FSYNC ... R7: IO_CMD_EVENT signo = 0, pid = 0 R8: IO_CMD_PREAD ... R9: IO_CMD_PREAD ... ... io_submit(..., iocbs) when R1 and R2 are completed, SIGRTMIN+1 is sent to the process itself when R4 and R5 are completed, SIGRTMIN+2 is sent to the thread 1238 R6, R8, R9, ... don't generate signal.