]> git.corax.cc Git - corax/commitdiff
Signal the receiving process in process_inbox_put()
authorMatthias Kruk <m@m10k.eu>
Sun, 27 Oct 2019 15:53:51 +0000 (00:53 +0900)
committerMatthias Kruk <m@m10k.eu>
Sun, 27 Oct 2019 15:53:51 +0000 (00:53 +0900)
kernel/core/process.c

index daec1a3086f0fb9beb09e7789c8a105db090e4b6..7b9b8aeb606d2bfb4f44034d71473c6806dc0dbc 100644 (file)
@@ -288,6 +288,7 @@ int process_inbox_put(process_t *proc, struct cxmsg *msg)
                        proc->p_inbox[i].sender = cproc->p_id;
                        proc->p_inbox[i].msg = msg;
 
+                       process_signal(proc->p_id);
                        ret_val = 0;
                        break;
                }
@@ -322,6 +323,7 @@ struct cxmsg* process_inbox_get(pid_t from)
                }
 
                if(!ret_val) {
+                       dbg_printf("[%u] waiting for pid 0x%x\n", process_get_id(proc), from);
                        process_wait(from);
                }
        } while(!ret_val);
@@ -353,6 +355,11 @@ int process_signal(pid_t pid)
        dproc = process_lookup(pid);
 
        if(dproc) {
+               process_t *cproc;
+               cproc = process_get_current();
+
+               dbg_printf("[%u] signalling pid %u\n", process_get_id(cproc), pid);
+
                sched_signal(pid);
                ret_val = 0;
        }