GCancellable: Make eventfd() fall back to pipes on EINVAL too
authorColin Walters <walters@verbum.org>
Sun, 10 Jul 2011 16:19:15 +0000 (12:19 -0400)
committerColin Walters <walters@verbum.org>
Sun, 10 Jul 2011 16:19:15 +0000 (12:19 -0400)
https://bugzilla.gnome.org/show_bug.cgi?id=654232

gio/gcancellable.c

index f5cfdd9..2974663 100644 (file)
@@ -249,9 +249,11 @@ g_cancellable_open_pipe (GCancellable *cancellable)
        g_cancellable_write_cancelled (cancellable);
       return;
     }
-  else if (errno != ENOSYS)
-    return;
-  /* Fall through on ENOSYS */
+  else if (!(errno == ENOSYS || errno == EINVAL))
+    {
+      return;
+    }
+  /* Fall through on ENOSYS or EINVAL */
 #endif
   if (g_unix_open_pipe (priv->cancel_pipe, FD_CLOEXEC, NULL))
     {