kernel: msg: include details about who sent a message
This commit is contained in:
@@ -202,6 +202,8 @@ extern kern_status_t channel_recv_msg(
|
|||||||
}
|
}
|
||||||
|
|
||||||
out_msg->msg_id = msg->msg_id;
|
out_msg->msg_id = msg->msg_id;
|
||||||
|
out_msg->msg_sender = msg->msg_sender_thread->tr_parent->t_id;
|
||||||
|
out_msg->msg_endpoint = msg->msg_sender_port->p_base.ob_id;
|
||||||
|
|
||||||
spin_unlock_irqrestore(&msg->msg_lock, msg_lock_flags);
|
spin_unlock_irqrestore(&msg->msg_lock, msg_lock_flags);
|
||||||
|
|
||||||
|
|||||||
@@ -61,9 +61,19 @@ typedef struct {
|
|||||||
} kern_msg_handle_t;
|
} kern_msg_handle_t;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
/* transaction id. identifies a particular request/response exchange.
|
||||||
|
* used when replying to a particular message. */
|
||||||
msgid_t msg_id;
|
msgid_t msg_id;
|
||||||
|
/* the id of the task that sent a particular message. */
|
||||||
|
tid_t msg_sender;
|
||||||
|
/* the id of the port or channel used to send a particular message. */
|
||||||
|
koid_t msg_endpoint;
|
||||||
|
/* a list of iovecs that point to the buffers that make up the main
|
||||||
|
* message data. */
|
||||||
kern_iovec_t *msg_data;
|
kern_iovec_t *msg_data;
|
||||||
size_t msg_data_count;
|
size_t msg_data_count;
|
||||||
|
/* a list of handle entries that contain the kernel handles included
|
||||||
|
* in a message. */
|
||||||
kern_msg_handle_t *msg_handles;
|
kern_msg_handle_t *msg_handles;
|
||||||
size_t msg_handles_count;
|
size_t msg_handles_count;
|
||||||
} kern_msg_t;
|
} kern_msg_t;
|
||||||
|
|||||||
Reference in New Issue
Block a user