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:
@@ -75,6 +75,7 @@ SRCS+= \
|
||||
sys_vsafecopy.c \
|
||||
sys_vtimer.c \
|
||||
sys_vumap.c \
|
||||
send_taskreply.c \
|
||||
taskcall.c \
|
||||
tickdelay.c \
|
||||
timers.c \
|
||||
|
||||
20
lib/libsys/send_taskreply.c
Normal file
20
lib/libsys/send_taskreply.c
Normal file
@@ -0,0 +1,20 @@
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "syslib.h"
|
||||
|
||||
/*===========================================================================*
|
||||
* sys_taskreply *
|
||||
*===========================================================================*/
|
||||
int send_taskreply(endpoint_t who, endpoint_t endpoint, int status)
|
||||
{
|
||||
message m;
|
||||
|
||||
memset(&m, 0, sizeof(m));
|
||||
|
||||
m.REP_ENDPT = endpoint;
|
||||
m.REP_STATUS = status;
|
||||
|
||||
return _sendcall(who, TASK_REPLY, &m);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,13 @@
|
||||
#include <lib.h>
|
||||
#include <minix/syslib.h>
|
||||
|
||||
int _sendcall(endpoint_t who, int type, message *msgptr)
|
||||
{
|
||||
msgptr->m_type = type;
|
||||
return send(who, msgptr);
|
||||
}
|
||||
|
||||
|
||||
int _taskcall(who, syscallnr, msgptr)
|
||||
endpoint_t who;
|
||||
int syscallnr;
|
||||
|
||||
Reference in New Issue
Block a user