I am having a hard time understanding the specification right now. What is supposed to happen if an enqueued command fails? What function call reports the error? What happens if I use out-of-order command queues and events, at what point do I find the problem from a previous event? What happens to child events?

Thanks for your help.