From 8747a54fead08df33c301707c20af893c5620053 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 31 Mar 2023 17:35:24 +0300 Subject: [PATCH] Interpreter thread should exit after sending IPC data --- Execute/Elf/BaseLoad.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Execute/Elf/BaseLoad.cpp b/Execute/Elf/BaseLoad.cpp index d299b57..c7ae4dc 100644 --- a/Execute/Elf/BaseLoad.cpp +++ b/Execute/Elf/BaseLoad.cpp @@ -89,7 +89,11 @@ namespace Execute goto RetryIPCWrite; } delete TmpBuffer; - CPU::Halt(true); + /* Prevent race condition, maybe a + better idea is to watch when the + IPC is destroyed. */ + TaskManager->Sleep(5000); + TEXIT(0); } PCB *InterpreterTargetProcess;