From b7ad1e063360bc90b6aa623414a0bd9eb273f03c Mon Sep 17 00:00:00 2001 From: kamkow1 Date: Fri, 19 Sep 2025 23:41:24 +0200 Subject: [PATCH] tb Spin efficiently with new schedrelease() syscall --- user/tb/interp.c | 4 +++- user/tb/main.c | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/user/tb/interp.c b/user/tb/interp.c index e61e91c..a9af90b 100644 --- a/user/tb/interp.c +++ b/user/tb/interp.c @@ -239,7 +239,9 @@ bool interp_runstring(const char *string, InterpResult **res, bool logcmds) { processctl(app, PCTL_RUN, 0, 0, 0); - while(processctl(app, PCTL_POLLSTATE, 0, 0, 0) != 4); + while(processctl(app, PCTL_POLLSTATE, 0, 0, 0) != 4) { + schedrelease(); + } cleanup: for (size_t j = 0; j < argslen1; j++) { diff --git a/user/tb/main.c b/user/tb/main.c index 67570ff..46d5995 100644 --- a/user/tb/main.c +++ b/user/tb/main.c @@ -124,6 +124,8 @@ void do_mode_interactive(void) { uprintf(ANSIQ_SCR_CLR_ALL); goto begin; break; + } else { + schedrelease(); } if (b == '\n') {