I would like to propose a patch (attached). It's probably too primitive
and requires a rewrite to become event-driven instead of a polling
mechanism. But for me it works and I've found another polling part in
the code that was already there so maybe the quality loss isn't that big
after all ;)

I kindly ask for a review/opinions and feedback.

-- 
Marcin Szewczyk                       http://wodny.org
mailto:marcin.szewc...@wodny.borg  <- remove b / usuĊ„ b
xmpp:wo...@ubuntu.pl                  xmpp:wo...@jabster.pl
--- gvfs-1.22.2-orig/daemon/gvfsbackendobexftp.c	2014-11-07 14:53:26.000000000 +0100
+++ gvfs-1.22.2/daemon/gvfsbackendobexftp.c	2015-05-30 02:08:30.592912133 +0200
@@ -1329,11 +1329,18 @@
 {
   GVfsBackendObexftp *op_backend = G_VFS_BACKEND_OBEXFTP (backend);
   GError *error = NULL;
+  gboolean busy = TRUE;
 
   g_debug ("+ do_query_info, filename: %s\n", filename);
 
   g_mutex_lock (&op_backend->mutex);
 
+  while (busy > 0)
+    {
+      busy = is_busy (op_backend->session_proxy, G_VFS_JOB (job));
+      g_usleep (G_USEC_PER_SEC / 100);
+    }
+ 
   if (_query_file_info_helper (backend, filename, info, &error) == FALSE)
     {
       g_mutex_unlock (&op_backend->mutex);

Reply via email to