Commit fa9b5fd1 authored by Max Kellermann's avatar Max Kellermann

event_pipe: use _pipe() on WIN32

Windows has no pipe(), it only has _pipe() with two additional parameters.
parent 4e0973a8
...@@ -26,6 +26,11 @@ ...@@ -26,6 +26,11 @@
#include <glib.h> #include <glib.h>
#include <string.h> #include <string.h>
#ifdef WIN32
/* for _O_BINARY */
#include <fcntl.h>
#endif
static int event_pipe[2]; static int event_pipe[2];
static GMutex *event_pipe_mutex; static GMutex *event_pipe_mutex;
static bool pipe_events[PIPE_EVENT_MAX]; static bool pipe_events[PIPE_EVENT_MAX];
...@@ -76,8 +81,14 @@ main_notify_event(G_GNUC_UNUSED GIOChannel *source, ...@@ -76,8 +81,14 @@ main_notify_event(G_GNUC_UNUSED GIOChannel *source,
void event_pipe_init(void) void event_pipe_init(void)
{ {
GIOChannel *channel; GIOChannel *channel;
int ret;
if (pipe(event_pipe) < 0)
#ifdef WIN32
ret = _pipe(event_pipe, 512, _O_BINARY);
#else
ret = pipe(event_pipe);
#endif
if (ret < 0)
g_error("Couldn't open pipe: %s", strerror(errno)); g_error("Couldn't open pipe: %s", strerror(errno));
if (set_nonblocking(event_pipe[1]) < 0) if (set_nonblocking(event_pipe[1]) < 0)
g_error("Couldn't set non-blocking I/O: %s", strerror(errno)); g_error("Couldn't set non-blocking I/O: %s", strerror(errno));
......
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