vchan-socket-proxy: Unify main return value

Introduce 'ret' for main's return value and remove direct returns.  This
is in preparation for a unified exit path with resource cleanup.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Acked-by: Wei Liu <wl@xen.org>
Reviewed-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Release-acked-by: Paul Durrant <paul@xen.org>
This commit is contained in:
Jason Andryuk authored and Wei Liu committed 2020-06-26 11:59:49 +00:00
1 parent 20b65c15a3
commit 2b1a218811
1 file changed
+11 -4
+11 -4
View File
@@ -388,6 +388,7 @@ int main(int argc, char **argv)
const char *vchan_path;
const char *state_path = NULL;
int opt;
int ret;
while ((opt = getopt_long(argc, argv, "m:vs:", options, NULL)) != -1) {
switch (opt) {
@@ -454,6 +455,8 @@ int main(int argc, char **argv)
xs_close(xs);
}
ret = 0;
for (;;) {
if (is_server) {
/* wait for vchan connection */
@@ -468,7 +471,8 @@ int main(int argc, char **argv)
}
if (input_fd == -1) {
fprintf(stderr, "connect_socket failed\n");
return 1;
ret = 1;
break;
}
if (data_loop(ctrl, input_fd, output_fd) != 0)
break;
@@ -481,14 +485,16 @@ int main(int argc, char **argv)
input_fd = output_fd = accept(socket_fd, NULL, NULL);
if (input_fd == -1) {
perror("accept");
return 1;
ret = 1;
break;
}
set_nonblocking(input_fd, 1);
set_nonblocking(output_fd, 1);
ctrl = connect_vchan(domid, vchan_path);
if (!ctrl) {
perror("vchan client init");
return 1;
ret = 1;
break;
}
if (data_loop(ctrl, input_fd, output_fd) != 0)
break;
@@ -500,5 +506,6 @@ int main(int argc, char **argv)
ctrl = NULL;
}
}
return 0;
return ret;
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.