Commit df79e097 authored by Pavel Emelyanov's avatar Pavel Emelyanov

page-server: Clos last loc xfer on connection close

Currsntly this affects nothing, but xfer close should be called.
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 9c14120d
...@@ -50,6 +50,12 @@ static struct page_xfer_job cxfer = { ...@@ -50,6 +50,12 @@ static struct page_xfer_job cxfer = {
.dst_id = ~0, .dst_id = ~0,
}; };
static void page_server_close(void)
{
if (cxfer.dst_id != ~0)
cxfer.loc_xfer.close(&cxfer.loc_xfer);
}
static int page_server_open(struct page_server_iov *pi) static int page_server_open(struct page_server_iov *pi)
{ {
int type; int type;
...@@ -59,8 +65,7 @@ static int page_server_open(struct page_server_iov *pi) ...@@ -59,8 +65,7 @@ static int page_server_open(struct page_server_iov *pi)
id = decode_pm_id(pi->dst_id); id = decode_pm_id(pi->dst_id);
pr_info("Opening %d/%ld\n", type, id); pr_info("Opening %d/%ld\n", type, id);
if (cxfer.dst_id != ~0) page_server_close();
cxfer.loc_xfer.close(&cxfer.loc_xfer);
if (open_page_xfer(&cxfer.loc_xfer, type, id)) if (open_page_xfer(&cxfer.loc_xfer, type, id))
return -1; return -1;
...@@ -183,6 +188,7 @@ static int page_server_serve(int sk) ...@@ -183,6 +188,7 @@ static int page_server_serve(int sk)
break; break;
} }
page_server_close();
pr_info("Session over\n"); pr_info("Session over\n");
close(sk); close(sk);
......
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