Changeset b1e6269 in mainline for kernel/generic/src/ipc/ops/clnestab.c
- Timestamp:
- 2012-08-24T22:27:44Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 20282ef3
- Parents:
- 13dbaa8c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/ipc/ops/clnestab.c
r13dbaa8c rb1e6269 45 45 } 46 46 47 static void answer_cleanup(call_t *answer, ipc_data_t *olddata) 48 { 49 phone_t *phone = (phone_t *) IPC_GET_ARG5(*olddata); 50 51 mutex_lock(&phone->lock); 52 if (phone->state == IPC_PHONE_CONNECTED) { 53 irq_spinlock_lock(&phone->callee->lock, true); 54 list_remove(&phone->link); 55 phone->state = IPC_PHONE_SLAMMED; 56 irq_spinlock_unlock(&phone->callee->lock, true); 57 } 58 mutex_unlock(&phone->lock); 59 } 60 47 61 static int answer_preprocess(call_t *answer, ipc_data_t *olddata) 48 62 { 49 phone_t *phone = (phone_t *) IPC_GET_ARG5(*olddata);50 63 51 64 if (IPC_GET_RETVAL(answer->data) != EOK) { … … 55 68 * connection without sending IPC_M_HUNGUP back. 56 69 */ 57 mutex_lock(&phone->lock); 58 if (phone->state == IPC_PHONE_CONNECTED) { 59 irq_spinlock_lock(&phone->callee->lock, true); 60 list_remove(&phone->link); 61 phone->state = IPC_PHONE_SLAMMED; 62 irq_spinlock_unlock(&phone->callee->lock, true); 63 } 64 mutex_unlock(&phone->lock); 70 answer_cleanup(answer, olddata); 65 71 } 66 72 … … 70 76 sysipc_ops_t ipc_m_clone_establish_ops = { 71 77 .request_preprocess = request_preprocess, 78 .request_forget = null_request_forget, 72 79 .request_process = null_request_process, 80 .answer_cleanup = answer_cleanup, 73 81 .answer_preprocess = answer_preprocess, 74 82 .answer_process = null_answer_process,
Note:
See TracChangeset
for help on using the changeset viewer.