Fix 'wayvncctl wayvnc-exit' return code
When shutting down wayvnc, it is likely the IPC connection will drop before the IPC response ia received, so count dicsonnection as success. Signed-off-by: Jim Ramsay <i.am@jimramsay.com>pull/243/head
parent
88f0571dc3
commit
00d7a7bde3
|
@ -671,12 +671,16 @@ static int ctl_client_event_loop(struct ctl_client* self,
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ctl_client_print_single_command(struct ctl_client* self,
|
static int ctl_client_print_single_command(struct ctl_client* self,
|
||||||
struct jsonipc_request* request)
|
enum cmd_type cmd, struct jsonipc_request* request)
|
||||||
{
|
{
|
||||||
struct jsonipc_response* response = ctl_client_run_single_command(self,
|
struct jsonipc_response* response = ctl_client_run_single_command(self,
|
||||||
request);
|
request);
|
||||||
if (!response)
|
if (!response) {
|
||||||
|
if (errno == ECONNRESET && cmd == CMD_WAYVNC_EXIT)
|
||||||
|
return 0;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
int result = ctl_client_print_response(self, request, response);
|
int result = ctl_client_print_response(self, request, response);
|
||||||
jsonipc_response_destroy(response);
|
jsonipc_response_destroy(response);
|
||||||
|
@ -908,7 +912,7 @@ int ctl_client_run_command(struct ctl_client* self,
|
||||||
result = ctl_client_event_loop(self, request);
|
result = ctl_client_event_loop(self, request);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
result = ctl_client_print_single_command(self, request);
|
result = ctl_client_print_single_command(self, cmd, request);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -239,9 +239,7 @@ test_output_list_ipc() {
|
||||||
|
|
||||||
test_exit_ipc() {
|
test_exit_ipc() {
|
||||||
echo "Checking wayvnc-exit command"
|
echo "Checking wayvnc-exit command"
|
||||||
# Ignore errors because killing the socket races vs receiving
|
$WAYVNCCTL wayvnc-exit &>/dev/null
|
||||||
# a return message: https://github.com/any1/wayvnc/issues/233
|
|
||||||
$WAYVNCCTL wayvnc-exit &>/dev/null || true
|
|
||||||
wait_while kill -0 $WAYVNC_PID >/dev/null
|
wait_while kill -0 $WAYVNC_PID >/dev/null
|
||||||
echo " wayvnc is shutdown"
|
echo " wayvnc is shutdown"
|
||||||
unset WAYVNC_PID
|
unset WAYVNC_PID
|
||||||
|
|
Loading…
Reference in New Issue