gnome-keyring r1088 - in trunk: . daemon library



Author: nnielsen
Date: Thu Feb 21 23:07:37 2008
New Revision: 1088
URL: http://svn.gnome.org/viewvc/gnome-keyring?rev=1088&view=rev

Log:
	* daemon/gkr-daemon-io.c:
	* library/gnome-keyring.c: Shutdown socket connections properly. 
	This may fix the hang problems described in bug #503278


Modified:
   trunk/ChangeLog
   trunk/daemon/gkr-daemon-io.c
   trunk/library/gnome-keyring.c

Modified: trunk/daemon/gkr-daemon-io.c
==============================================================================
--- trunk/daemon/gkr-daemon-io.c	(original)
+++ trunk/daemon/gkr-daemon-io.c	Thu Feb 21 23:07:37 2008
@@ -346,6 +346,7 @@
 		gnome_keyring_application_ref_free (client->app_ref);
 	}
 
+	shutdown (client->sock, SHUT_RDWR);
 	close (client->sock);
 	g_free (client);
 }

Modified: trunk/library/gnome-keyring.c
==============================================================================
--- trunk/library/gnome-keyring.c	(original)
+++ trunk/library/gnome-keyring.c	Thu Feb 21 23:07:37 2008
@@ -252,6 +252,8 @@
 		(*op->destroy_reply_data) (op->reply_data);	
 	gkr_buffer_uninit (&op->send_buffer);
 	gkr_buffer_uninit (&op->receive_buffer);
+	
+	shutdown (op->socket, SHUT_RDWR);
 	close (op->socket);
 	g_free (op);
 }
@@ -520,8 +522,10 @@
 		g_source_remove (op->io_watch);
 		op->io_watch = 0;
 	}
-	if (op->socket >= 0)
+	if (op->socket >= 0) {
+		shutdown (op->socket, SHUT_RDWR);
 		close (op->socket);
+	}
 
 	op->socket = connect_to_daemon (TRUE);
 	if (op->socket < 0) {



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