diff options
author | Junyan He <junyan.he@intel.com> | 2016-04-26 16:46:37 +0800 |
---|---|---|
committer | Junyan He <junyan.he@intel.com> | 2016-04-26 16:46:37 +0800 |
commit | aeeabe0a680e47f8f04484e0831c0b78e5a57cc7 (patch) | |
tree | 24c31a1fa15cfae3eb0b385543baf2bfe3a47035 | |
parent | 3ffb2a8f4f9e8934c6b956a0e84f0b4bfb04580b (diff) |
add finish
-rw-r--r-- | libclapi/cl_command_queue.c | 2 | ||||
-rw-r--r-- | libclapi/cl_enqueue.c | 18 |
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); +} + |