* CLI reconnects to backend if backend restarts with a warning
* Note that edits to the candidate database or locks will be lost * To force the CLI to exit if backend restarts, undef `PROTO_RESTART_RECONNECT` * This is an effect of the fix of [Broken pipe error seen in client (cli) when backend restarts and CLICON_SOCK is recreated](https://github.com/clicon/clixon/issues/312), the CLI behavior on backend restart is changed. * Added `eof` parameter to `clicon_rpc()` and `clicon_rpc1()` and error handling modified
This commit is contained in:
parent
03f667e2ea
commit
dfeb7cef75
10 changed files with 176 additions and 56 deletions
|
|
@ -204,11 +204,23 @@ cli_sig_term(int arg)
|
|||
|
||||
/*! Setup signal handlers
|
||||
*/
|
||||
static void
|
||||
static int
|
||||
cli_signal_init (clicon_handle h)
|
||||
{
|
||||
cli_signal_block(h);
|
||||
set_signal(SIGTERM, cli_sig_term, NULL);
|
||||
int retval = -1;
|
||||
|
||||
cli_signal_block(h);
|
||||
if (set_signal(SIGTERM, cli_sig_term, NULL) < 0){
|
||||
clicon_err(OE_UNIX, errno, "Setting SIGTERM signal");
|
||||
goto done;
|
||||
}
|
||||
if (set_signal(SIGPIPE, SIG_IGN, NULL) < 0){
|
||||
clicon_err(OE_UNIX, errno, "Setting DIGPIPE signal");
|
||||
goto done;
|
||||
}
|
||||
retval = 0;
|
||||
done:
|
||||
return retval;
|
||||
}
|
||||
|
||||
/*! Interactive CLI command loop
|
||||
|
|
@ -653,7 +665,8 @@ main(int argc,
|
|||
clicon_log_string_limit_set(nr);
|
||||
|
||||
/* Setup signal handlers */
|
||||
cli_signal_init(h);
|
||||
if (cli_signal_init(h) < 0)
|
||||
goto done;
|
||||
|
||||
/* Backward compatible mode, do not include keys in cgv-arrays in callbacks.
|
||||
Should be 0 but default is 1 since all legacy apps use 1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue