Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2799 → Rev 2800

/branches/tracing/kernel/generic/include/ipc/ipc.h
290,7 → 290,7
extern void ipc_phone_connect(phone_t *phone, answerbox_t *box);
extern void ipc_call_free(call_t *call);
extern call_t * ipc_call_alloc(int flags);
extern void ipc_answerbox_init(answerbox_t *box);
extern void ipc_answerbox_init(answerbox_t *box, struct task *task);
extern void ipc_call_static_init(call_t *call);
extern void task_print_list(void);
extern int ipc_forward(call_t *call, phone_t *newphone, answerbox_t *oldbox,
/branches/tracing/kernel/generic/src/proc/task.c
171,7 → 171,7
ta->capabilities = 0;
ta->cycles = 0;
ipc_answerbox_init(&ta->answerbox);
ipc_answerbox_init(&ta->answerbox, ta);
for (i = 0; i < IPC_MAX_PHONES; i++)
ipc_phone_init(&ta->phones[i]);
if ((ipc_phone_0) && (context_check(ipc_phone_0->task->context,
/branches/tracing/kernel/generic/src/ipc/ipc.c
117,8 → 117,9
/** Initialize an answerbox structure.
*
* @param box Answerbox structure to be initialized.
* @param task Task to which the answerbox belongs.
*/
void ipc_answerbox_init(answerbox_t *box)
void ipc_answerbox_init(answerbox_t *box, task_t *task)
{
spinlock_initialize(&box->lock, "ipc_box_lock");
spinlock_initialize(&box->irq_lock, "ipc_box_irqlock");
129,7 → 130,7
list_initialize(&box->answers);
list_initialize(&box->irq_notifs);
list_initialize(&box->irq_head);
box->task = TASK;
box->task = task;
}
 
/** Connect a phone to an answerbox.
172,7 → 173,7
{
answerbox_t sync_box;
 
ipc_answerbox_init(&sync_box);
ipc_answerbox_init(&sync_box, TASK);
 
/* We will receive data in a special box. */
request->callerbox = &sync_box;