If a device(s) becomes unavailable after a context and command-queues that use
this device(s) have been created and commands have been queued to them, the
implementation will fail with the CL_OUT_OF_RESOURCES error for further API
calls. The state of the commands enqueued so far is left undefined.
The application should destroy the objects associated with such a context and
re-query the available device list.
A mechanism for manual querying platforms and devices should be implemented. This will allow applications to easily recover from the aforementioned error state.