After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 654232 - GCancellable eventfd problems
GCancellable eventfd problems
Status: RESOLVED FIXED
Product: glib
Classification: Platform
Component: gio
unspecified
Other All
: Normal normal
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2011-07-08 10:56 UTC by Allison Karlitskaya (desrt)
Modified: 2011-07-10 16:19 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Allison Karlitskaya (desrt) 2011-07-08 10:56:13 UTC
Similar to the bug in GMainLoop, the eventfd changes to GCancellable do this:

#ifdef HAVE_EVENTFD
  priv->cancel_pipe[0] = eventfd (0, EFD_CLOEXEC | EFD_NONBLOCK);
  if (priv->cancel_pipe[0] >= 0)
    {
      if (priv->cancelled)
        g_cancellable_write_cancelled (cancellable);
      return;
    }
  else if (errno != ENOSYS)
    return;
  /* Fall through on ENOSYS */
#endif


without dealing with the EINVAL case caused by using EFD_CLOEXEC on some old versions of Linux.
Comment 1 Matthias Clasen 2011-07-08 19:57:15 UTC
Colin, can you have a look ?