empathy r1124 - trunk/src



Author: xclaesse
Date: Fri May 23 16:53:24 2008
New Revision: 1124
URL: http://svn.gnome.org/viewvc/empathy?rev=1124&view=rev

Log:
Add CLOEXEC flag on BaconMessageConnection FD. Fixes bug #533840.


Modified:
   trunk/src/bacon-message-connection.c

Modified: trunk/src/bacon-message-connection.c
==============================================================================
--- trunk/src/bacon-message-connection.c	(original)
+++ trunk/src/bacon-message-connection.c	Fri May 23 16:53:24 2008
@@ -101,8 +101,18 @@
 static gboolean
 setup_connection (BaconMessageConnection *conn)
 {
+	int fdflags;
+
 	g_return_val_if_fail (conn->chan == NULL, FALSE);
 
+	/* Add CLOEXEC flag on the fd to make sure the socket get closed
+	 * if exec is called. */
+	fdflags = fcntl (conn->fd, F_GETFD, 0);
+	if (fdflags >= 0) {
+		fdflags |= FD_CLOEXEC;
+		fcntl (conn->fd, F_SETFD, fdflags);
+	}
+
 	conn->chan = g_io_channel_unix_new (conn->fd);
 	if (!conn->chan) {
 		return FALSE;
@@ -269,9 +279,7 @@
 	}
 	listen (conn->fd, 5);
 
-	if (!setup_connection (conn))
-		return FALSE;
-	return TRUE;
+	return setup_connection (conn);
 }
 
 static gboolean



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]