Changeset c33f39f in mainline for kernel/generic/src/ipc/ops


Ignore:
Timestamp:
2012-09-04T21:12:43Z (13 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
983cabe8
Parents:
2541646
Message:

Do not establish callback connections after the answerbox enters cleanup.

Location:
kernel/generic/src/ipc/ops
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/ipc/ops/conctmeto.c

    r2541646 rc33f39f  
    6565        /* If the user accepted call, connect */
    6666        if (IPC_GET_RETVAL(answer->data) == EOK)
    67                 ipc_phone_connect(phone, &TASK->answerbox);
     67                (void) ipc_phone_connect(phone, &TASK->answerbox);
    6868
    6969        return EOK;
  • kernel/generic/src/ipc/ops/concttome.c

    r2541646 rc33f39f  
    7373        } else if (phoneid >= 0) {
    7474                /* The connection was accepted */
    75                 phone_connect(phoneid, &answer->sender->answerbox);
    76                 /* Set 'phone hash' as arg5 of response */
    77                 IPC_SET_ARG5(answer->data, (sysarg_t) &TASK->phones[phoneid]);
     75                if (phone_connect(phoneid, &answer->sender->answerbox)) {
     76                        /* Set 'phone hash' as arg5 of response */
     77                        IPC_SET_ARG5(answer->data,
     78                            (sysarg_t) &TASK->phones[phoneid]);
     79                } else {
     80                        /* The answerbox is shutting down. */
     81                        IPC_SET_RETVAL(answer->data, ENOENT);
     82                        answer_cleanup(answer, olddata);
     83                }
    7884        } else {
    7985                IPC_SET_RETVAL(answer->data, ELIMIT);
  • kernel/generic/src/ipc/ops/connclone.c

    r2541646 rc33f39f  
    8787        }
    8888               
    89         ipc_phone_connect(&phone->callee->task->phones[newphid],
     89        (void) ipc_phone_connect(&phone->callee->task->phones[newphid],
    9090            cloned_phone->callee);
    9191        phones_unlock(cloned_phone, phone);
Note: See TracChangeset for help on using the changeset viewer.