Nonblocking mail_receive, fix proc_kill scheduling issues
All checks were successful
Build documentation / build-and-deploy (push) Successful in 3m15s
All checks were successful
Build documentation / build-and-deploy (push) Successful in 3m15s
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user