added support for synchronized methods

This commit is contained in:
2026-04-27 20:07:57 +03:00
parent 7244174945
commit 72fd316310
4 changed files with 86 additions and 11 deletions

View File

@@ -1608,6 +1608,7 @@ nn_Exit nn_tick(nn_Computer *computer) {
req.computer = computer;
req.globalState = computer->arch.state;
req.localState = computer->archState;
req.synchronized = false;
req.action = NN_ARCH_TICK;
err = computer->arch.handler(&req);
if(err) {
@@ -1618,6 +1619,25 @@ nn_Exit nn_tick(nn_Computer *computer) {
return NN_OK;
}
nn_Exit nn_tickSynchronized(nn_Computer *computer) {
if(!nn_isComputerOn(computer)) return NN_OK;
// idling pootr
if(nn_isComputerIdle(computer)) return NN_OK;
nn_ArchitectureRequest req;
req.computer = computer;
req.globalState = computer->arch.state;
req.localState = computer->archState;
req.synchronized = true;
req.action = NN_ARCH_TICK;
nn_Exit err = computer->arch.handler(&req);
if(err) {
computer->state = NN_CRASHED;
nn_setErrorFromExit(computer, err);
return err;
}
return NN_OK;
}
static nn_Exit nn_defaultComponent(nn_ComponentRequest *request) {
return NN_OK;
}