Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset cd529c4 in mainline


Ignore:
Timestamp:
2012-08-13T09:15:57Z (9 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master
Children:
4820360, cfaa35a
Parents:
d06c4ae
Message:

In the absence of synchronous IPC calls, call_t's callerbox is just
caching call_t's sender→answerbox. Get rid of this redundancy.

Location:
kernel/generic
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/ipc/ipc.h

    rd06c4ae rcd529c4  
    113113        struct task *sender;
    114114       
    115         /*
    116          * The caller box is different from sender->answerbox
    117          * for synchronous calls.
    118          */
    119         answerbox_t *callerbox;
    120        
    121115        /** Private data to internal IPC. */
    122116        sysarg_t priv;
  • kernel/generic/src/ipc/ipc.c

    rd06c4ae rcd529c4  
    7171{
    7272        memsetb(call, sizeof(*call), 0);
    73         call->callerbox = &TASK->answerbox;
    7473        call->sender = TASK;
    7574        call->buffer = NULL;
     
    170169static void _ipc_answer_free_call(call_t *call, bool selflocked)
    171170{
    172         answerbox_t *callerbox = call->callerbox;
     171        answerbox_t *callerbox = &call->sender->answerbox;
    173172        bool do_lock = ((!selflocked) || callerbox != (&TASK->answerbox));
    174173       
Note: See TracChangeset for help on using the changeset viewer.