Some distros enable -D_FORTIFY_SOURCE=2 by default
(https://wiki.ubuntu.com/CompilerFlags) which adds the warn_unused_result
attribute to several functions including read(2) and write(2)
Although we don't really care about error reading or writing the libxl spawn fd
catch them anyway to keep this warning happy.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Tested-by: Olaf Hering <olaf@aepfle.de>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
}
if (starting && FD_ISSET(starting->for_spawn->fd, &rfds)) {
unsigned char dummy;
- read(starting->for_spawn->fd, &dummy, sizeof(dummy));
+ if (read(starting->for_spawn->fd, &dummy, sizeof(dummy)) != 1)
+ LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_DEBUG,
+ "failed to read spawn status pipe");
}
}
}
rc = (WIFEXITED(status) ? WEXITSTATUS(status) :
WIFSIGNALED(status) && WTERMSIG(status) < 127
? WTERMSIG(status)+128 : -1);
- if (for_spawn)
- write(pipes[1], &dummy, sizeof(dummy));
+ if (for_spawn) {
+ if (write(pipes[1], &dummy, sizeof(dummy)) != 1)
+ perror("libxl__spawn_spawn: unable to signal child exit to parent");
+ }
_exit(rc);
err_parent_pipes: