mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
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:
1 parent
20b65c15a3
commit
2b1a218811
1 file changed
+11
-4
@@ -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;
|
||||
}
|
||||