diff options
| author | Junio C Hamano <gitster@pobox.com> | 2016-10-31 13:15:21 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2016-10-31 13:15:21 -0700 |
| commit | dbaa6bdce22914843e956e36d41d328547514342 (patch) | |
| tree | f18fa638562ad4a53f18282b0a95b1ee13f1faa0 /run-command.h | |
| parent | 906d6906fb580f2002bfdaadab80da6884bab16f (diff) | |
| parent | 0f71fa273fc6c352a266894f1f757c5950230d9b (diff) | |
| download | git-dbaa6bdce22914843e956e36d41d328547514342.tar.gz | |
Merge branch 'ls/filter-process'
The smudge/clean filter API expect an external process is spawned
to filter the contents for each path that has a filter defined. A
new type of "process" filter API has been added to allow the first
request to run the filter for a path to spawn a single process, and
all filtering need is served by this single process for multiple
paths, reducing the process creation overhead.
* ls/filter-process:
contrib/long-running-filter: add long running filter example
convert: add filter.<driver>.process option
convert: prepare filter.<driver>.process option
convert: make apply_filter() adhere to standard Git error handling
pkt-line: add functions to read/write flush terminated packet streams
pkt-line: add packet_write_gently()
pkt-line: add packet_flush_gently()
pkt-line: add packet_write_fmt_gently()
pkt-line: extract set_packet_header()
pkt-line: rename packet_write() to packet_write_fmt()
run-command: add clean_on_exit_handler
run-command: move check_pipe() from write_or_die to run_command
convert: modernize tests
convert: quote filter names in error messages
Diffstat (limited to 'run-command.h')
| -rw-r--r-- | run-command.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/run-command.h b/run-command.h index 50666497ae..dd1c78c28d 100644 --- a/run-command.h +++ b/run-command.h @@ -43,6 +43,8 @@ struct child_process { unsigned stdout_to_stderr:1; unsigned use_shell:1; unsigned clean_on_exit:1; + void (*clean_on_exit_handler)(struct child_process *process); + void *clean_on_exit_handler_cbdata; }; #define CHILD_PROCESS_INIT { NULL, ARGV_ARRAY_INIT, ARGV_ARRAY_INIT } @@ -139,7 +141,7 @@ struct async { int start_async(struct async *async); int finish_async(struct async *async); int in_async(void); -void NORETURN async_exit(int code); +void check_pipe(int err); /** * This callback should initialize the child process and preload the |
