## C Specification

To release a command queue, call the function

cl_int clReleaseCommandQueue(
cl_command_queue command_queue);

## Parameters

• command_queue specifies the command-queue to be released.

## Description

The command_queue reference count is decremented.

After the command_queue reference count becomes zero and all commands queued to command_queue have finished (eg. kernel-instances, memory object updates etc.), the command-queue is deleted.

clReleaseCommandQueue performs an implicit flush to issue any previously queued OpenCL commands in command_queue. Using this function to release a reference that was not obtained by creating the object or by calling clRetainCommandQueue causes undefined behavior.

clReleaseCommandQueue returns CL_​SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:

• CL_​INVALID_​COMMAND_​QUEUE if command_queue is not a valid command-queue.

• CL_​OUT_​OF_​RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.

• CL_​OUT_​OF_​HOST_​MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.