From 292d43a7a01cc95061d374736894bafe43d8e61b Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Fri, 10 Aug 2018 17:56:13 -0500
Subject: [PATCH] Add context manager functionality for MemoryMap

---
 pyopencl/__init__.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/pyopencl/__init__.py b/pyopencl/__init__.py
index eb124749..472d7dc0 100644
--- a/pyopencl/__init__.py
+++ b/pyopencl/__init__.py
@@ -1033,6 +1033,19 @@ def _add_functionality():
 
     # }}}
 
+    # {{{ MemoryMap
+
+    def memory_map_enter(self):
+        return self
+
+    def memory_map_exit(self, exc_type, exc_val, exc_tb):
+        self.release()
+
+    MemoryMap.__enter__ = memory_map_enter
+    MemoryMap.__exit__ = memory_map_exit
+
+    # }}}
+
     # ORDER DEPENDENCY: Some of the above may override get_info, the effect needs
     # to be visible through the attributes. So get_info attr creation needs to happen
     # after the overriding is complete.
-- 
GitLab