gvfs r2296 - in trunk: . daemon



Author: alexl
Date: Fri Mar  6 15:35:38 2009
New Revision: 2296
URL: http://svn.gnome.org/viewvc/gvfs?rev=2296&view=rev

Log:
2009-03-06  Alexander Larsson  <alexl redhat com>

	Bug 535814 â hangup on g_input_stream_close after cancelling from other thread
        * daemon/gvfschannel.c:
	Reverted patch from bug 522192 as it caused bug 535814.
	Furthermore, its just wrong. We don't cancel streams as such, we
	cancel individual operations on the stream.



Modified:
   trunk/ChangeLog
   trunk/daemon/gvfschannel.c

Modified: trunk/daemon/gvfschannel.c
==============================================================================
--- trunk/daemon/gvfschannel.c	(original)
+++ trunk/daemon/gvfschannel.c	Fri Mar  6 15:35:38 2009
@@ -85,7 +85,6 @@
   GInputStream *command_stream;
   GOutputStream *reply_stream;
   int remote_fd;
-  gboolean cancelled;
   
   GVfsBackendHandle backend_handle;
   GVfsJob *current_job;
@@ -342,8 +341,7 @@
   command = g_ntohl (request->command);
   arg1 = g_ntohl (request->arg1);
 
-  if (command == G_VFS_DAEMON_SOCKET_PROTOCOL_REQUEST_CANCEL ||
-      channel->priv->cancelled)
+  if (command == G_VFS_DAEMON_SOCKET_PROTOCOL_REQUEST_CANCEL)
     {
       if (arg1 == channel->priv->current_job_seq_nr &&
 	  channel->priv->current_job != NULL)
@@ -367,8 +365,6 @@
 	    }
 	}
 
-      channel->priv->cancelled = TRUE;
-      
       /* Cancel ops get no return */
       g_free (data);
       return;
@@ -609,8 +605,7 @@
       g_vfs_job_source_new_job (G_VFS_JOB_SOURCE (channel), channel->priv->current_job);
     }
   /* Start queued request or readahead */
-  else if (!channel->priv->cancelled &&
-	   !start_queued_request (channel) &&
+  else if (!start_queued_request (channel) &&
 	   class->readahead)
     {
       /* No queued requests, maybe we want to do a readahead call */



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