[glib] GUnix{Input, Output}Stream: Only release cancelable poll-fd if we allocated it
- From: David Zeuthen <davidz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] GUnix{Input, Output}Stream: Only release cancelable poll-fd if we allocated it
- Date: Mon, 5 Mar 2012 18:00:49 +0000 (UTC)
commit 6e8caec6d9af06d4f7f0e6cd1a86c6c47e49ff01
Author: David Zeuthen <davidz redhat com>
Date: Mon Mar 5 12:57:32 2012 -0500
GUnix{Input,Output}Stream: Only release cancelable poll-fd if we allocated it
Otherwise we get criticals a'la
GLib-GIO-CRITICAL **: g_cancellable_release_fd: assertion `cancellable->priv->fd_refcount > 0' failed
when reading/writing to certain kinds of file descriptors.
Patch reviewed by Dan Winship on IRC.
Signed-off-by: David Zeuthen <davidz redhat com>
gio/gunixinputstream.c | 3 ++-
gio/gunixoutputstream.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/gio/gunixinputstream.c b/gio/gunixinputstream.c
index 3d5f938..65a0dbd 100644
--- a/gio/gunixinputstream.c
+++ b/gio/gunixinputstream.c
@@ -417,7 +417,8 @@ g_unix_input_stream_read (GInputStream *stream,
break;
}
- g_cancellable_release_fd (cancellable);
+ if (nfds == 2)
+ g_cancellable_release_fd (cancellable);
return res;
}
diff --git a/gio/gunixoutputstream.c b/gio/gunixoutputstream.c
index 01c3259..86f5277 100644
--- a/gio/gunixoutputstream.c
+++ b/gio/gunixoutputstream.c
@@ -403,7 +403,8 @@ g_unix_output_stream_write (GOutputStream *stream,
break;
}
- g_cancellable_release_fd (cancellable);
+ if (nfds == 2)
+ g_cancellable_release_fd (cancellable);
return res;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]