From 01adbe630b4a270e17b641bbfbdaa371980d641b Mon Sep 17 00:00:00 2001
From: Yichao Yu <yyc1992@gmail.com>
Date: Sun, 22 Jun 2014 13:53:33 +0800
Subject: [PATCH] event clean up

---
 pyopencl/c_wrapper/wrap_cl_core.h |  1 -
 src/c_wrapper/event.cpp           | 31 ++++++-------------------------
 src/c_wrapper/event.h             |  3 +--
 3 files changed, 7 insertions(+), 28 deletions(-)

diff --git a/pyopencl/c_wrapper/wrap_cl_core.h b/pyopencl/c_wrapper/wrap_cl_core.h
index 804848c5..40ac1fc6 100644
--- a/pyopencl/c_wrapper/wrap_cl_core.h
+++ b/pyopencl/c_wrapper/wrap_cl_core.h
@@ -141,7 +141,6 @@ type_t image__get_fill_type(clobj_t img);
 error *event__get_profiling_info(clobj_t event, cl_profiling_info param,
                                  generic_info *out);
 error *event__wait(clobj_t event);
-void event__set_support_cb(clobj_t _evt, int support);
 error *event__set_callback(clobj_t _evt, cl_int type, void *pyobj);
 error *wait_for_events(const clobj_t *_wait_for, uint32_t num_wait_for);
 // Nanny Event
diff --git a/src/c_wrapper/event.cpp b/src/c_wrapper/event.cpp
index a8f03438..facbab0b 100644
--- a/src/c_wrapper/event.cpp
+++ b/src/c_wrapper/event.cpp
@@ -78,14 +78,14 @@ release_private_use_cb(event *evt)
 }
 #endif
 
-bool
+void
 event::release_private() noexcept
 {
     if (!m_p)
-        return true;
+        return;
     if (m_p->is_finished()) {
         delete m_p;
-        return true;
+        return;
     }
 #if PYOPENCL_CL_VERSION >= 0x1010
     if (release_private_use_cb(this)) {
@@ -95,33 +95,20 @@ event::release_private() noexcept
                     p->call_finish();
                     delete p;
                 });
-            return true;
+            return;
         } catch (const clerror &e) {
             cleanup_print_error(e.code(), e.what());
         }
     }
 #endif
-#if 0
-    std::thread t([] (cl_event evt, event_private *p) {
-            pyopencl_call_guarded_cleanup(clWaitForEvents, len_arg(evt));
-            p->call_finish();
-            pyopencl_call_guarded_cleanup(clReleaseEvent, evt);
-            delete p;
-        }, data(), m_p);
-    t.detach();
-    return false;
-#else
     wait();
     delete m_p;
-    return true;
-#endif
 }
 
 event::~event()
 {
-    if (release_private()) {
-        pyopencl_call_guarded_cleanup(clReleaseEvent, this);
-    }
+    release_private();
+    pyopencl_call_guarded_cleanup(clReleaseEvent, this);
 }
 
 generic_info
@@ -241,12 +228,6 @@ event__wait(clobj_t evt)
 }
 
 #if PYOPENCL_CL_VERSION >= 0x1010
-void
-event__set_support_cb(clobj_t _evt, int support)
-{
-    auto evt = static_cast<event*>(_evt);
-    evt->support_cb = support;
-}
 
 error*
 event__set_callback(clobj_t _evt, cl_int type, void *pyobj)
diff --git a/src/c_wrapper/event.h b/src/c_wrapper/event.h
index 27ba85dc..6dde1a3e 100644
--- a/src/c_wrapper/event.h
+++ b/src/c_wrapper/event.h
@@ -18,7 +18,7 @@ class event_private;
 class event : public clobj<cl_event> {
     event_private *m_p;
     // return whether the event need to be released.
-    PYOPENCL_USE_RESULT bool release_private() noexcept;
+    void release_private() noexcept;
 protected:
     PYOPENCL_INLINE event_private*
     get_p() const
@@ -34,7 +34,6 @@ public:
     get_profiling_info(cl_profiling_info param) const;
     void wait() const;
 #if PYOPENCL_CL_VERSION >= 0x1010
-    bool support_cb;
     template<typename Func>
     PYOPENCL_INLINE void
     set_callback(cl_int type, Func &&_func)
-- 
GitLab