summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunyan He <junyan.he@intel.com>2016-04-26 16:46:37 +0800
committerJunyan He <junyan.he@intel.com>2016-04-26 16:46:37 +0800
commitaeeabe0a680e47f8f04484e0831c0b78e5a57cc7 (patch)
tree24c31a1fa15cfae3eb0b385543baf2bfe3a47035
parent3ffb2a8f4f9e8934c6b956a0e84f0b4bfb04580b (diff)
add finish
-rw-r--r--libclapi/cl_command_queue.c2
-rw-r--r--libclapi/cl_enqueue.c18
2 files changed, 19 insertions, 1 deletions
diff --git a/libclapi/cl_command_queue.c b/libclapi/cl_command_queue.c
index 4b1140ab..e3e76860 100644
--- a/libclapi/cl_command_queue.c
+++ b/libclapi/cl_command_queue.c
@@ -260,7 +260,7 @@ error:
}
cl_int
-clFinish (cl_command_queue command_queue)
+clFinish(cl_command_queue command_queue)
{
cl_int err = CL_SUCCESS;
CHECK_QUEUE (command_queue);
diff --git a/libclapi/cl_enqueue.c b/libclapi/cl_enqueue.c
index 7457d86f..29344417 100644
--- a/libclapi/cl_enqueue.c
+++ b/libclapi/cl_enqueue.c
@@ -408,3 +408,21 @@ LOCAL cl_int cl_enqueue_wait_for_finish(cl_command_queue queue)
return CL_SUCCESS;
}
+LOCAL void cl_enqueue_notify_event_changed(cl_command_queue queue)
+{
+ cl_command_queue_worker worker = NULL;
+
+ assert(queue->worker != NULL);
+ worker = queue->worker;
+
+ CL_MUTEX_LOCK(&worker->mutex);
+ if (worker->quit) { // already destroy the queue?
+ CL_MUTEX_UNLOCK(&worker->mutex);
+ return;
+ }
+
+ worker->cookie++;
+ CL_COND_BROADCAST(&worker->cond);
+ CL_MUTEX_UNLOCK(&worker->mutex);
+}
+