void RenderManager::AsyncInvoke(RenderManager::InvokeMethod m) { InvokeHandle *cmd = new InvokeHandle(m); cmd->selfdelete = true; PushInvoke(cmd); }
void RenderManager::BlockInvoke(RenderManager::InvokeMethod m) { InvokeHandle *cmd = new InvokeHandle(m); PushInvoke(cmd); while(!cmd->processed) {} }
void RenderManager::BlockInvoke(RenderManager::InvokeMethod m) { InvokeHandle *cmd = new InvokeHandle(m); PushInvoke(cmd); for(;;) { if(cmd->processed.tryAcquire()) break; } delete cmd; }