[riot-notifications] [RIOT-OS/RIOT] core/mutex: Add mutex_cancel (#15442)

benpicco notifications at github.com
Sun Nov 15 15:58:17 CET 2020

This certainly allows for some neat hacks, but also dirty ones.
I thought it would be neat for being able to inject shell commands into the shell thread.
Right now it will wait on a mutex in `isrpipe_read()`.

With this we could do (roughly) 

--- a/sys/shell/shell.c
+++ b/sys/shell/shell.c
@@ -470,6 +470,12 @@ void shell_run_once(const shell_command_t *shell_commands,
     while (1) {
         int res = readline(line_buf, len);
+        msg_t m;
+        if (msg_try_receive(&m) == 1) {
+            handle_input_line(shell_commands, m.content.ptr);
+            continue;
+        }
         switch (res) {
             case EOF:

Granted, that *feels* dirty - and I know why: A thread might wait on multiple mutexen. How can we be sure to cancel the right on? 

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20201115/3529e787/attachment.htm>

More information about the notifications mailing list