summaryrefslogtreecommitdiffstats
path: root/truecrypt/build/truecrypt-7.1a_umount.patch
diff options
context:
space:
mode:
Diffstat (limited to 'truecrypt/build/truecrypt-7.1a_umount.patch')
-rw-r--r--truecrypt/build/truecrypt-7.1a_umount.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/truecrypt/build/truecrypt-7.1a_umount.patch b/truecrypt/build/truecrypt-7.1a_umount.patch
new file mode 100644
index 00000000..7f3d87f8
--- /dev/null
+++ b/truecrypt/build/truecrypt-7.1a_umount.patch
@@ -0,0 +1,27 @@
+diff -uar truecrypt-7.1a-source.orig/Core/Unix/Linux/CoreLinux.cpp truecrypt-7.1a-source/Core/Unix/Linux/CoreLinux.cpp
+--- truecrypt-7.1a-source.orig/Core/Unix/Linux/CoreLinux.cpp 2012-02-07 11:36:48.000000000 +0100
++++ truecrypt-7.1a-source/Core/Unix/Linux/CoreLinux.cpp 2012-03-31 13:05:41.065113488 +0200
+@@ -91,13 +91,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;
+ }