userlibandfileserver/fileserver/sfile/sf_thread.cpp
changeset 4 56f325a607ea
parent 2 4122176ea935
child 41 0ffb4e86fcc9
--- 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;
 	}