Nonblocking mail_receive, fix proc_kill scheduling issues
All checks were successful
Build documentation / build-and-deploy (push) Successful in 3m15s

This commit is contained in:
2026-03-17 21:36:09 +01:00
parent 57abf96daf
commit 0b85d3a0da
14 changed files with 121 additions and 60 deletions

View File

@@ -344,7 +344,7 @@ static void cmd_cancel_proc (void* arg) {
char ch = 0;
do {
mail_receive (&ch, 1);
mail_receive_nonblock (&ch, 1);
} while (ch != KB_CTRL ('C'));
kill (pid);
@@ -356,9 +356,9 @@ static void cmd_collect_proc (void* arg) {
for (;;) {
char recv[RECV_MAX];
memset (recv, 0, sizeof (recv));
mail_receive (&recv, sizeof (recv) - 1);
mail_send (e_pgid, recv, strlen (recv));
if (mail_receive_nonblock (&recv, sizeof (recv) - 1) == ST_OK) {
mail_send (e_pgid, recv, strlen (recv));
}
}
}