[CRIU] [PATCH] service: service should compile on Ubuntu 14.04
Tycho Andersen
tycho.andersen at canonical.com
Wed Sep 10 08:46:25 PDT 2014
I'm not quite sure what the difference is (I have gcc 4.8, but there are
probably also header differences), but when I compile the service on 14.04 I
get:
CC cr-service.o
cr-service.c: In function ‘start_page_server_req’:
cr-service.c:536:8: error: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Werror=unused-result]
write(start_pipe[1], &ret, sizeof(ret));
^
cr-service.c:544:6: error: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Werror=unused-result]
read(start_pipe[0], &ret, sizeof(ret));
^
Signed-off-by: Tycho Andersen <tycho.andersen at canonical.com>
---
cr-service.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/cr-service.c b/cr-service.c
index 6ed05c2..d144f47 100644
--- a/cr-service.c
+++ b/cr-service.c
@@ -506,6 +506,7 @@ static int pre_dump_loop(int sk, CriuReq *msg)
static int start_page_server_req(int sk, CriuOpts *req)
{
int ret, pid, start_pipe[2];
+ ssize_t count;
bool success = false;
CriuResp resp = CRIU_RESP__INIT;
CriuPageServerInfo ps = CRIU_PAGE_SERVER_INFO__INIT;
@@ -533,16 +534,20 @@ static int start_page_server_req(int sk, CriuOpts *req)
ret = cr_page_server(true, start_pipe[1]);
out_ch:
- write(start_pipe[1], &ret, sizeof(ret));
+ count = write(start_pipe[1], &ret, sizeof(ret));
close(start_pipe[1]);
+ if (count != sizeof(ret))
+ exit(1);
exit(0);
}
close(start_pipe[1]);
wait(NULL);
ret = -1;
- read(start_pipe[0], &ret, sizeof(ret));
- if (ret > 0) {
+ count = read(start_pipe[0], &ret, sizeof(ret));
+ if (count != sizeof(ret))
+ success = false;
+ else if (ret > 0) {
success = true;
ps.has_pid = true;
ps.pid = ret;
--
1.9.1
More information about the CRIU
mailing list