Commit eed38acc authored by Pavel Emelyanov's avatar Pavel Emelyanov

service: Do one exit point from cr_service_work

That's preparation to "several requests per connection" patch.
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 76017ec5
...@@ -530,6 +530,7 @@ out: ...@@ -530,6 +530,7 @@ out:
int cr_service_work(int sk) int cr_service_work(int sk)
{ {
int ret = -1;
CriuReq *msg = 0; CriuReq *msg = 0;
if (recv_criu_msg(sk, &msg) == -1) { if (recv_criu_msg(sk, &msg) == -1) {
...@@ -539,23 +540,27 @@ int cr_service_work(int sk) ...@@ -539,23 +540,27 @@ int cr_service_work(int sk)
switch (msg->type) { switch (msg->type) {
case CRIU_REQ_TYPE__DUMP: case CRIU_REQ_TYPE__DUMP:
return dump_using_req(sk, msg->opts); ret = dump_using_req(sk, msg->opts);
break;
case CRIU_REQ_TYPE__RESTORE: case CRIU_REQ_TYPE__RESTORE:
return restore_using_req(sk, msg->opts); ret = restore_using_req(sk, msg->opts);
break;
case CRIU_REQ_TYPE__CHECK: case CRIU_REQ_TYPE__CHECK:
return check(sk); ret = check(sk);
break;
case CRIU_REQ_TYPE__PRE_DUMP: case CRIU_REQ_TYPE__PRE_DUMP:
return pre_dump_loop(sk, msg); ret = pre_dump_loop(sk, msg);
break;
case CRIU_REQ_TYPE__PAGE_SERVER: case CRIU_REQ_TYPE__PAGE_SERVER:
return start_page_server_req(sk, msg->opts); ret = start_page_server_req(sk, msg->opts);
break;
default: default:
send_criu_err(sk, "Invalid req"); send_criu_err(sk, "Invalid req");
goto err; break;
} }
err: err:
return -1; return ret;
} }
static void reap_worker(int signo) static void reap_worker(int signo)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment