This adds an API, tests and documentation for the multi shot receive functionality. It also adds some testing for overflow paths in accept & poll which previously was not tested. Patch 1 adds a helper t_create_socket_pair which provides two connected sockets without needing a hard coded port Patch 2-5 adds multishot recv api, tests and docs Patch 6,7 add tests for overflow in poll v2: * added a multishot recv api rather than expecting applications to use the flags directly * fixed the io_uring.h include * added overflow tests for recv multishot * added tests for poll/accept Dylan Yudaken (7): add t_create_socket_pair add IORING_RECV_MULTISHOT to io_uring.h add io_uring_prep_(recv|recvmsg)_multishot add IORING_RECV_MULTISHOT docs add recv-multishot test add poll overflow test add accept with overflow test man/io_uring_prep_recv.3 | 22 ++ man/io_uring_prep_recv_multishot.3 | 1 + man/io_uring_prep_recvmsg.3 | 20 ++ man/io_uring_prep_recvmsg_multishot.3 | 1 + src/include/liburing.h | 16 ++ src/include/liburing/io_uring.h | 5 + test/Makefile | 2 + test/accept.c | 129 +++++++--- test/helpers.c | 97 ++++++++ test/helpers.h | 5 + test/poll-mshot-overflow.c | 128 ++++++++++ test/recv-multishot.c | 342 ++++++++++++++++++++++++++ 12 files changed, 740 insertions(+), 28 deletions(-) create mode 120000 man/io_uring_prep_recv_multishot.3 create mode 120000 man/io_uring_prep_recvmsg_multishot.3 create mode 100644 test/poll-mshot-overflow.c create mode 100644 test/recv-multishot.c base-commit: 70e11b3d79714c287c1a03e96eddd957474901dd -- 2.30.2