equal
deleted
inserted
replaced
856 CDriveThread& self = *(CDriveThread*)aSelfP; |
856 CDriveThread& self = *(CDriveThread*)aSelfP; |
857 |
857 |
858 TDrive& drive = TheDrives[self.iDriveNumber]; |
858 TDrive& drive = TheDrives[self.iDriveNumber]; |
859 if(drive.IsMounted()) |
859 if(drive.IsMounted()) |
860 { |
860 { |
861 (void)drive.FinaliseMount(RFs::EFinal_RW); |
861 if (drive.CurrentMount().LockStatus() == 0) |
|
862 { |
|
863 // Ignore the error here, as there's nothing we can do about it... |
|
864 (void)drive.FinaliseMount(RFs::EFinal_RW); |
|
865 } |
|
866 else |
|
867 { |
|
868 self.StartFinalisationTimer(); |
|
869 } |
862 } |
870 } |
863 |
871 |
864 return KErrNone; |
872 return KErrNone; |
865 } |
873 } |
866 |
874 |
919 |
927 |
920 CPluginThread::CPluginThread(CFsPlugin& aPlugin) |
928 CPluginThread::CPluginThread(CFsPlugin& aPlugin) |
921 : iPlugin(aPlugin) |
929 : iPlugin(aPlugin) |
922 { |
930 { |
923 /** @prototype */ |
931 /** @prototype */ |
|
932 iOperationLock.Close(); |
924 iPlugin.Open(); |
933 iPlugin.Open(); |
925 } |
934 } |
926 |
935 |
927 CPluginThread::~CPluginThread() |
936 CPluginThread::~CPluginThread() |
928 { |
937 { |
929 iPlugin.Close(); |
938 iPlugin.Close(); |
930 iOperationLock.Close(); |
939 } |
931 } |
|
932 |
940 |
933 |
941 |
934 CPluginThread* CPluginThread::NewL(CFsPlugin& aPlugin) |
942 CPluginThread* CPluginThread::NewL(CFsPlugin& aPlugin) |
935 { |
943 { |
936 __PRINT(_L("CPluginThread::NewL()")); |
944 __PRINT(_L("CPluginThread::NewL()")); |