kernel ipc debug: various fixes
. add receive hooks in the kernel to print asynchronously delivered messages . do not rely on MF_REPLY_PEND to decide between calls and errors, as that isn't reliable for asynchronous messages; try both instead . add _sendcall() that extract-mfield.sh can then reliably recognize the fields for messages that are sent with just send() . add DEBUG_DUMPIPC_NAMES to restrict printed messages to from/to given process names Change-Id: Ia65eb02a69a2b58e73bf9f009987be06dda774a3
This commit is contained in:
@@ -1660,25 +1660,12 @@ int proc_nr; /* to whom should the reply go? */
|
||||
int status; /* reply code */
|
||||
{
|
||||
/* Send a reply to a process that wanted to read or write data. */
|
||||
message tty_mess;
|
||||
|
||||
tty_mess.m_type = code;
|
||||
tty_mess.REP_ENDPT = proc_nr;
|
||||
tty_mess.REP_STATUS = status;
|
||||
assert(code == TASK_REPLY);
|
||||
|
||||
/* Don't reply to KERNEL (kernel messages) */
|
||||
if (replyee == KERNEL) return;
|
||||
|
||||
/* TTY is not supposed to send a TTY_REVIVE message. The
|
||||
* REVIVE message is gone, TTY_REVIVE is only used as an internal
|
||||
* placeholder for something that is not supposed to be a message.
|
||||
*/
|
||||
if(code == TTY_REVIVE) {
|
||||
printf("%s:%d: ", file, line);
|
||||
panic("tty_reply sending TTY_REVIVE");
|
||||
}
|
||||
|
||||
status = send(replyee, &tty_mess);
|
||||
status = send_taskreply(replyee, proc_nr, status);
|
||||
if (status != OK)
|
||||
printf("tty`tty_reply: send to %d failed: %d\n", replyee, status);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user