Changes from V6 include:
convert: remove erroneous tests for errno == EPIPE
- split into separate patch to fix a preexisting bug discovered in the review
process
pkt-line: Update packet_read_line() to test for len > 0
- split into separate patch to deal with errors that return negative lengths
pkt-line: add packet_read_line_gently()
- update documentation to clarify return values
- update white space in function definition
Refactor the filter.<driver>.process code into a separate sub-process
module that can be used to reduce the cost of starting up a sub-process
for multiple commands. It does this by keeping the external process
running and processing all commands by communicating over standard input
and standard output using the packet format (pkt-line) based protocol.
Full documentation is in Documentation/technical/api-sub-process.txt.
This code is refactored from:
Commit edcc85814c ("convert: add filter.<driver>.process option",
2016-10-16)
keeps the external process running and processes all commands
Ben Peart (10):
convert: remove erroneous tests for errno == EPIPE
pkt-line: fix packet_read_line() to handle len < 0 errors
pkt-line: add packet_read_line_gently()
convert: move packet_write_line() into pkt-line as packet_writel()
convert: split start_multi_file_filter() into two separate functions
convert: Separate generic structures and variables from the filter
specific ones
convert: Update generic functions to only use generic data structures
convert: rename reusable sub-process functions
sub-process: move sub-process functions into separate files
convert: Update subprocess_read_status to not die on EOF
Documentation/technical/api-sub-process.txt | 59 ++++++++++
Makefile | 1 +
convert.c | 161 ++++++----------------------
pkt-line.c | 33 +++++-
pkt-line.h | 12 +++
sub-process.c | 106 ++++++++++++++++++
sub-process.h | 49 +++++++++
7 files changed, 292 insertions(+), 129 deletions(-)
create mode 100644 Documentation/technical/api-sub-process.txt
create mode 100644 sub-process.c
create mode 100644 sub-process.h
--
2.12.2.gvfs.2.20.g3624a68d62.dirty