Index: native_client_sdk/src/libraries/nacl_io/kernel_handle.cc |
diff --git a/native_client_sdk/src/libraries/nacl_io/kernel_handle.cc b/native_client_sdk/src/libraries/nacl_io/kernel_handle.cc |
index 12b83a3dcdb23e66c5d1ace1c517c8959a0aa933..d83555822fba1397b709886fdbb8424fa130a492 100644 |
--- a/native_client_sdk/src/libraries/nacl_io/kernel_handle.cc |
+++ b/native_client_sdk/src/libraries/nacl_io/kernel_handle.cc |
@@ -21,6 +21,12 @@ KernelHandle::KernelHandle() |
KernelHandle::KernelHandle(const ScopedMount& mnt, const ScopedMountNode& node) |
: mount_(mnt), node_(node), offs_(0) {} |
+KernelHandle::~KernelHandle() { |
+ // Force release order, so that mount persists beyond node |
+ node_.reset(NULL); |
+ mount_.reset(NULL); |
+} |
+ |
Error KernelHandle::Init(int open_mode) { |
if (open_mode & O_APPEND) { |
size_t node_size; |