Since v2: - rebase to Rich's new API calls - more refactoring in patch 1 (retitled) - new patches 3 and 4 - fix data corruption in patch 6 (was 4) - more tweaks to the reproducer example (including using new API from 3) Eric Blake (7): lib: Refactor command_common() to do more common work commands: Allow for a command queue commands: Expose FIFO ordering of server completions disconnect: Allow shutdown during processing states: Split ISSUE_COMMAND.SEND_REQUEST states: Allow in-flight read while writing next command examples: Add example to demonstrate just-fixed deadlock scenario .gitignore | 1 + examples/Makefile.am | 10 ++ examples/batched-read-write.c | 214 +++++++++++++++++++++++++++++++ generator/generator | 52 ++++++-- generator/states-issue-command.c | 85 ++++++++---- generator/states-reply.c | 13 +- generator/states.c | 5 + lib/aio.c | 13 ++ lib/disconnect.c | 23 +--- lib/internal.h | 14 +- lib/rw.c | 131 ++++++++----------- 11 files changed, 429 insertions(+), 132 deletions(-) create mode 100644 examples/batched-read-write.c -- 2.20.1