Extended new command -named_pipe_loop by mode parameter

This commit is contained in:
2013-07-04 09:47:13 +00:00
parent c4d11a3905
commit 5f7c0d0372
12 changed files with 236 additions and 81 deletions

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISO 1 "Version 1.3.1, Jul 02, 2013"
@c man .TH XORRISO 1 "Version 1.3.1, Jul 03, 2013"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -5491,21 +5491,32 @@ Above example "SORRY,UPDATE" will yield 1.
Print to the result channel a blank separated list of all severity names.
Sorted from low to high severity.
@c man .TP
@item -named_pipe_loop disk_path_stdin disk_path_stdout disk_path_stderr
@item -named_pipe_loop mode[:mode] disk_path_stdin disk_path_stdout disk_path_stderr
@kindex -named_pipe_loop enters EOF resistant dialog
@cindex Dialog, EOF resistant, -named_pipe_loop
Temporarily replace standard input, standard output and standard error by
named pipes. Enter dialog mode without readline.
The three parameters must either be disk paths to existing named pipes,
@*
Defined modes are:
@*
"cleanup" removes the submitted pipe files when the loop ends.
@*
"keep" does not delete them. This is the default.
@*
"buffered" reads all lines from the input pipe until EOF before it opens
the output pipes and processes the input lines.
@*
"direct" opens the output pipes after the first input line was read.
Each line is executed directly after it is read. This is the default.
@*
The other three parameters must either be disk paths to existing named pipes,
or be "-" to leave the according standard i/o channel unreplaced.
@*
xorriso will open the stdin pipe, read and execute dialog lines from it
until the sender closes the pipe. Then xorriso will close its side of
the pipes and enter a new cycle of opening, reading and executing.
@*
The output pipes will get opened after the first input line was
read from a freshly opened pipe. This allows the sender to first send
a very long line and to only then open an output pipe for reading the reply.
until the sender closes the pipe. The output pipes get opened depending on
mode "buffered" resp. "direct". After all lines are executed, xorriso will
close its side of the pipes and enter a new cycle of opening, reading and
executing.
@*
If an input line consists only of the word "end_named_pipe_loop"
then -named_pipe_loop will end and further xorriso commands may be