summaryrefslogtreecommitdiff
path: root/system/truecrypt/truecrypt_dismount_failure.diff
diff options
context:
space:
mode:
Diffstat (limited to 'system/truecrypt/truecrypt_dismount_failure.diff')
-rw-r--r--system/truecrypt/truecrypt_dismount_failure.diff26
1 files changed, 26 insertions, 0 deletions
diff --git a/system/truecrypt/truecrypt_dismount_failure.diff b/system/truecrypt/truecrypt_dismount_failure.diff
new file mode 100644
index 0000000000..6bd21c15ca
--- /dev/null
+++ b/system/truecrypt/truecrypt_dismount_failure.diff
@@ -0,0 +1,26 @@
+--- truecrypt-6.3-source/Core/Unix/Linux/CoreLinux.cpp 2009-10-21 15:11:02.000000000 +0200
++++ truecrypt-6.3-source.src/Core/Unix/Linux/CoreLinux.cpp 2009-10-26 14:26:24.741564814 +0100
+@@ -90,13 +90,23 @@
+ void CoreLinux::DetachLoopDevice (const DevicePath &devicePath) const
+ {
+ list <string> args;
++ list <string> args2;
+ args.push_back ("-d");
+ args.push_back (devicePath);
++ /* args2 needed to umount loop device before detaching it
++ by Enrico Lo Tauro (neongen)*/
++ args2.push_back (devicePath);
+
+ for (int t = 0; true; t++)
+ {
+ try
+ {
++ try
++ {Process::Execute ("umount", args2);
++ }
++ catch (ExecutedProcessFailed&)
++ {
++ }
+ Process::Execute ("losetup", args);
+ break;
+ }