Remove horrible uthreads hack.

This commit is contained in:
ajacoutot 2012-02-18 11:09:14 +00:00
parent 28fae9ffde
commit 2d97a7ebef
3 changed files with 2 additions and 48 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.67 2012/02/16 22:17:38 ajacoutot Exp $
# $OpenBSD: Makefile,v 1.68 2012/02/18 11:09:14 ajacoutot Exp $
COMMENT-main= GNOME Virtual File System
COMMENT-smb= samba module for GVFS
@ -9,7 +9,7 @@ GNOME_VERSION= 1.10.1
PKGNAME-main= ${DISTNAME}
PKGNAME-smb= ${GNOME_PROJECT}-smb-${GNOME_VERSION}
REVISION-main= 3
REVISION-main= 4
SHARED_LIBS += gvfscommon 3.0 # .0.0
SHARED_LIBS += gvfscommon-dnssd 1.0 # .0.0

View File

@ -1,23 +0,0 @@
$OpenBSD: patch-client_gdaemonfileinputstream_c,v 1.3 2011/07/02 15:46:17 ajacoutot Exp $
https://bugzilla.gnome.org/show_bug.cgi?id=650883
--- client/gdaemonfileinputstream.c.orig Mon May 23 16:38:05 2011
+++ client/gdaemonfileinputstream.c Wed Jun 15 08:20:07 2011
@@ -376,6 +376,16 @@ g_daemon_file_input_stream_new (int fd,
{
GDaemonFileInputStream *stream;
+/*
+ * Prevent EINTR caused by OpenBSD userland threads setting all file
+ * descriptors to non-blocking mode
+ */
+#ifdef __OpenBSD__
+ int flags = fcntl(fd, F_GETFL);
+ if (fcntl(fd, F_SETFL, flags & ~O_NONBLOCK) < 0)
+ g_warning ("Couldn't remove non-blocking I/O from fd %d", fd);
+#endif
+
stream = g_object_new (G_TYPE_DAEMON_FILE_INPUT_STREAM, NULL);
stream->command_stream = g_unix_output_stream_new (fd, FALSE);

View File

@ -1,23 +0,0 @@
$OpenBSD: patch-client_gdaemonfileoutputstream_c,v 1.3 2011/07/02 15:46:17 ajacoutot Exp $
https://bugzilla.gnome.org/show_bug.cgi?id=650883
--- client/gdaemonfileoutputstream.c.orig Mon May 23 16:38:05 2011
+++ client/gdaemonfileoutputstream.c Wed Jun 15 08:20:17 2011
@@ -297,6 +297,16 @@ g_daemon_file_output_stream_new (int fd,
{
GDaemonFileOutputStream *stream;
+/*
+ * Prevent EINTR caused by OpenBSD userland threads setting all file
+ * descriptors to non-blocking mode
+ */
+#ifdef __OpenBSD__
+ int flags = fcntl(fd, F_GETFL);
+ if (fcntl(fd, F_SETFL, flags & ~O_NONBLOCK) < 0)
+ g_warning ("Couldn't remove non-blocking I/O from fd %d", fd);
+#endif
+
stream = g_object_new (G_TYPE_DAEMON_FILE_OUTPUT_STREAM, NULL);
stream->command_stream = g_unix_output_stream_new (fd, FALSE);