mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-23 11:39:53 +00:00
Replace qemu_pipe() with g_unix_open_pipe()
GLib g_unix_open_pipe() is essentially like qemu_pipe(), available since 2.30. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
ad24b679d2
commit
a7241974ce
@ -547,10 +547,6 @@ static inline void qemu_timersub(const struct timeval *val1,
|
||||
ssize_t qemu_write_full(int fd, const void *buf, size_t count)
|
||||
G_GNUC_WARN_UNUSED_RESULT;
|
||||
|
||||
#ifndef _WIN32
|
||||
int qemu_pipe(int pipefd[2]);
|
||||
#endif
|
||||
|
||||
void qemu_set_cloexec(int fd);
|
||||
|
||||
/* Return a dynamically allocated directory path that is appropriate for storing
|
||||
|
@ -909,13 +909,14 @@ int main(int argc, char **argv)
|
||||
|
||||
if ((device && !verbose) || fork_process) {
|
||||
#ifndef WIN32
|
||||
g_autoptr(GError) err = NULL;
|
||||
int stderr_fd[2];
|
||||
pid_t pid;
|
||||
int ret;
|
||||
|
||||
if (qemu_pipe(stderr_fd) < 0) {
|
||||
if (!g_unix_open_pipe(stderr_fd, FD_CLOEXEC, &err)) {
|
||||
error_report("Error setting up communication pipe: %s",
|
||||
strerror(errno));
|
||||
err->message);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
@ -49,7 +49,7 @@ int event_notifier_init(EventNotifier *e, int active)
|
||||
if (errno != ENOSYS) {
|
||||
return -errno;
|
||||
}
|
||||
if (qemu_pipe(fds) < 0) {
|
||||
if (!g_unix_open_pipe(fds, FD_CLOEXEC, NULL)) {
|
||||
return -errno;
|
||||
}
|
||||
if (!g_unix_set_fd_nonblocking(fds[0], true, NULL)) {
|
||||
|
@ -274,28 +274,6 @@ void qemu_set_cloexec(int fd)
|
||||
assert(f != -1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Creates a pipe with FD_CLOEXEC set on both file descriptors
|
||||
*/
|
||||
int qemu_pipe(int pipefd[2])
|
||||
{
|
||||
int ret;
|
||||
|
||||
#ifdef CONFIG_PIPE2
|
||||
ret = pipe2(pipefd, O_CLOEXEC);
|
||||
if (ret != -1 || errno != ENOSYS) {
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
ret = pipe(pipefd);
|
||||
if (ret == 0) {
|
||||
qemu_set_cloexec(pipefd[0]);
|
||||
qemu_set_cloexec(pipefd[1]);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
char *
|
||||
qemu_get_local_state_dir(void)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user