* .gnulib: Update to latest, for pipe2. * bootstrap.conf (gnulib_modules): Add pipe2. * src/util/event_poll.c (virEventPollInit): Use it, to avoid problematic virSetCloseExec on mingw. ---
The gnulib changes to pipe2 are now in. * .gnulib f796520...2255b86 (4): > verify: use _Static_assert if available > Remove leftover generated .h files after config.status changed. > Ensure to rebuild generated .h files when config.status has changed. > pipe2: Relicense under LGPLv2+. This assumes that my earlier .gnulib modification patch is also in: https://www.redhat.com/archives/libvir-list/2011-April/msg00297.html although I can rebase as needed. .gnulib | 2 +- bootstrap.conf | 3 ++- src/util/event_poll.c | 7 ++----- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.gnulib b/.gnulib index f796520..2255b86 160000 --- a/.gnulib +++ b/.gnulib @@ -1 +1 @@ -Subproject commit f79652003534e496bca1e49922ca521f12ca8051 +Subproject commit 2255b865130df1feadea60779babd6889285186e diff --git a/bootstrap.conf b/bootstrap.conf index 11d2199..95136ac 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -54,6 +54,7 @@ nonblocking perror physmem pipe-posix +pipe2 poll posix-shell pthread diff --git a/src/util/event_poll.c b/src/util/event_poll.c index 91000e2..cd1ff4a 100644 --- a/src/util/event_poll.c +++ b/src/util/event_poll.c @@ -29,6 +29,7 @@ #include <sys/time.h> #include <errno.h> #include <unistd.h> +#include <fcntl.h> #include "threads.h" #include "logging.h" @@ -657,11 +658,7 @@ int virEventPollInit(void) return -1; } - if (pipe(eventLoop.wakeupfd) < 0 || - virSetNonBlock(eventLoop.wakeupfd[0]) < 0 || - virSetNonBlock(eventLoop.wakeupfd[1]) < 0 || - virSetCloseExec(eventLoop.wakeupfd[0]) < 0 || - virSetCloseExec(eventLoop.wakeupfd[1]) < 0) { + if (pipe2(eventLoop.wakeupfd, O_CLOEXEC | O_NONBLOCK) < 0) { virReportSystemError(errno, "%s", _("Unable to setup wakeup pipe")); return -1; -- 1.7.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list