--- a/userlibandfileserver/fileserver/sfile/sf_thread.cpp Mon Dec 21 16:14:42 2009 +0000
+++ b/userlibandfileserver/fileserver/sfile/sf_thread.cpp Wed Dec 23 11:43:31 2009 +0000
@@ -857,11 +857,18 @@
CDriveThread& self = *(CDriveThread*)aSelfP;
TDrive& drive = TheDrives[self.iDriveNumber];
- if(drive.IsMounted() && drive.CurrentMount().LockStatus() == 0)
- {
- // Ignore the error here, as there's nothing we can do about it...
- (void)drive.FinaliseMount(RFs::EFinal_RW);
- }
+ if(drive.IsMounted())
+ {
+ if (drive.CurrentMount().LockStatus() == 0)
+ {
+ // Ignore the error here, as there's nothing we can do about it...
+ (void)drive.FinaliseMount(RFs::EFinal_RW);
+ }
+ else
+ {
+ self.StartFinalisationTimer();
+ }
+ }
return KErrNone;
}