summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
bc148cb)
- Also pushed as: http://bugzilla.gnome.org/show_bug.cgi?id=324984
struct sigaction oldact;
int errint;
struct itimerval itimerval;
struct sigaction oldact;
int errint;
struct itimerval itimerval;
+GnomeVFSFileSize offset_current;
if ((*ui_progress)(NULL))
return GNOME_VFS_ERROR_INTERRUPTED;
if ((*ui_progress)(NULL))
return GNOME_VFS_ERROR_INTERRUPTED;
&itimerval, /* value */
NULL); /* ovalue */
g_assert(errint==0);
&itimerval, /* value */
NULL); /* ovalue */
g_assert(errint==0);
- errvfsresult=gnome_vfs_seek(*acquire_cabinet->handlep,GNOME_VFS_SEEK_START,offset);
+ /* Optimization avoid resetting connection
+ * in neon "http" handler of: FC4 gnome-vfs2-2.10.0-5
+ * http://bugzilla.gnome.org/show_bug.cgi?id=324984
+ */
+ errvfsresult=gnome_vfs_tell(*acquire_cabinet->handlep,&offset_current);
+ if (GNOME_VFS_OK==errvfsresult && (GnomeVFSFileOffset)offset_current!=offset)
+ errvfsresult=gnome_vfs_seek(*acquire_cabinet->handlep,GNOME_VFS_SEEK_START,offset);
if (GNOME_VFS_OK==errvfsresult)
errvfsresult=gnome_vfs_read(*acquire_cabinet->handlep,buffer,bytes,bytes_read);
}
if (GNOME_VFS_OK==errvfsresult)
errvfsresult=gnome_vfs_read(*acquire_cabinet->handlep,buffer,bytes,bytes_read);
}