Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 3475 → Rev 3476

/trunk/kernel/generic/src/ipc/sysipc.c
822,12 → 822,16
 
ASSERT(! (call->flags & IPC_CALL_STATIC_ALLOC));
 
if (!(call->flags & IPC_CALL_DISCARD_ANSWER))
atomic_dec(&TASK->active_calls);
 
if (call->flags & IPC_CALL_DISCARD_ANSWER) {
ipc_call_free(call);
goto restart;
} else {
/*
* Decrement the counter of active calls only if the
* call is not an answer to IPC_M_PHONE_HUNGUP,
* which doesn't contribute to the counter.
*/
atomic_dec(&TASK->active_calls);
}
 
STRUCT_TO_USPACE(&calldata->args, &call->data.args);
/trunk/kernel/generic/src/ipc/ipc.c
508,7 → 508,8
interrupts_restore(ipl);
 
/* Free unused call */
if (call) ipc_call_free(call);
if (call)
ipc_call_free(call);
}
 
/** Cleans up all IPC communication of the current task.
573,6 → 574,11
(call->flags & IPC_CALL_NOTIF));
ASSERT(!(call->flags & IPC_CALL_STATIC_ALLOC));
/*
* Record the receipt of this call in the current task's counter
* of active calls. IPC_M_PHONE_HUNGUP calls do not contribute
* to this counter so do not record answers to them either.
*/
if (!(call->flags & IPC_CALL_DISCARD_ANSWER))
atomic_dec(&TASK->active_calls);
ipc_call_free(call);