Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 3394 → Rev 3395

/trunk/kernel/generic/include/ipc/ipc.h
260,12 → 260,6
typedef struct {
unative_t args[IPC_CALL_LEN];
phone_t *phone;
/*
* The forward operation can masquerade the caller phone. For those
* cases, we must keep it aside so that the answer is processed
* correctly.
*/
phone_t *caller_phone;
} ipc_data_t;
 
typedef struct {
287,6 → 281,13
 
/** Buffer for IPC_M_DATA_WRITE and IPC_M_DATA_READ. */
uint8_t *buffer;
 
/*
* The forward operation can masquerade the caller phone. For those
* cases, we must keep it aside so that the answer is processed
* correctly.
*/
phone_t *caller_phone;
} call_t;
 
extern void ipc_init(void);
/trunk/kernel/generic/src/ipc/ipc.c
201,9 → 201,9
call->flags |= IPC_CALL_ANSWERED;
 
if (call->flags & IPC_CALL_FORWARDED) {
if (call->data.caller_phone) {
if (call->caller_phone) {
/* Demasquerade the caller phone. */
call->data.phone = call->data.caller_phone;
call->data.phone = call->caller_phone;
}
}
 
360,8 → 360,8
spinlock_unlock(&oldbox->lock);
 
if (mode & IPC_FF_ROUTE_FROM_ME) {
if (!call->data.caller_phone)
call->data.caller_phone = call->data.phone;
if (!call->caller_phone)
call->caller_phone = call->data.phone;
call->data.phone = newphone;
}