---
name: "clWaitForEvents"
section: "3clc"
platform: "linux"
package: "opencl-1.2-man-doc"
version: "1.0~svn33624-5.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/clWaitForEvents"
---

# clWaitForEvents(3clc)

Waits on the host thread for commands identified by event objects to complete.

## NAME

clWaitForEvents - Waits on the host thread for commands identified by event objects to complete.

##

**cl\_int clWaitForEvents(cl\_uint** *num\_events***, const cl\_event \****event\_list***);**

## PARAMETERS

*event\_list*

The events specified in *event\_list* act as synchronization points.

## NOTES

Waits on the host thread for commands identified by event objects in *event\_list* to complete. A command is considered complete if its execution status is **CL\_COMPLETE** or a negative value. The events specified in *event\_list* act as synchronization points.

If the [**cl\_khr\_gl\_event**(3clc)](/cl_khr_gl_event/3clc.md) extension is enabled, event objects can also be used to reflect the status of an OpenGL sync object. The sync object in turn refers to a fence command executing in an OpenGL command stream. This provides another method of coordinating sharing of buffers and images between OpenGL and OpenCL.

## ERRORS

Returns CL\_SUCCESS if the execution status of all events in *event\_list* is CL\_COMPLETE. Otherwise, it returns one of the following errors:

• CL\_INVALID\_VALUE if *num\_events* is zero or *event\_list* is NULL..

• CL\_INVALID\_CONTEXT if events specified in *event\_list* do not belong to the same context.

• CL\_INVALID\_EVENT if event objects specified in *event\_list* are not valid event objects.

• CL\_EXEC\_STATUS\_ERROR\_FOR\_EVENTS\_IN\_WAIT\_LIST if the execution status of any of the events in *event\_list* is a negative integer value.

• 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.

## SPECIFICATION

**OpenCL Specification**\[1\]

## SEE ALSO

[**clGetEventInfo**(3clc)](/clGetEventInfo/3clc.md), [**clReleaseEvent**(3clc)](/clReleaseEvent/3clc.md), [**clRetainEvent**(3clc)](/clRetainEvent/3clc.md), [**cl\_khr\_gl\_event**(3clc)](/cl_khr_gl_event/3clc.md)

## AUTHORS

**The Khronos Group**

## COPYRIGHT

Copyright © 2007-2011 The Khronos Group Inc.\
 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and/or associated documentation files (the "Materials"), to deal in the Materials without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Materials, and to permit persons to whom the Materials are furnished to do so, subject to the condition that this copyright notice and permission notice shall be included in all copies or substantial portions of the Materials.

## NOTES

- 1\.

  OpenCL Specification

  page 179, section 5.9 - Event Objects
