Changeset 4ca28512 in mainline
- Timestamp:
- 2009-11-19T21:08:45Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- c70ce74
- Parents:
- 35bb2e7
- Location:
- kernel/generic
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/ipc/ipc.h
r35bb2e7 r4ca28512 51 51 /** This is answer to a call */ 52 52 #define IPC_CALL_ANSWERED (1 << 0) 53 /** This call will not be freed on error */54 #define IPC_CALL_STATIC_ALLOC (1 << 1)55 53 /** Answer will not be passed to userspace, will be discarded */ 56 #define IPC_CALL_DISCARD_ANSWER (1 << 2)54 #define IPC_CALL_DISCARD_ANSWER (1 << 1) 57 55 /** Call was forwarded */ 58 #define IPC_CALL_FORWARDED (1 << 3)56 #define IPC_CALL_FORWARDED (1 << 2) 59 57 /** Identify connect_me_to answer */ 60 #define IPC_CALL_CONN_ME_TO (1 << 4)58 #define IPC_CALL_CONN_ME_TO (1 << 3) 61 59 /** Interrupt notification */ 62 #define IPC_CALL_NOTIF (1 << 5)60 #define IPC_CALL_NOTIF (1 << 4) 63 61 64 62 /* … … 326 324 extern call_t * ipc_call_alloc(int); 327 325 extern void ipc_answerbox_init(answerbox_t *, struct task *); 328 extern void ipc_call_static_init(call_t *);329 326 extern void task_print_list(void); 330 327 extern int ipc_forward(call_t *, phone_t *, answerbox_t *, int); -
kernel/generic/src/ipc/ipc.c
r35bb2e7 r4ca28512 96 96 } 97 97 98 /** Initialize a statically allocated call structure.99 *100 * @param call Statically allocated kernel call structure to be101 * initialized.102 */103 void ipc_call_static_init(call_t *call)104 {105 _ipc_call_init(call);106 call->flags |= IPC_CALL_STATIC_ALLOC;107 }108 109 98 /** Deallocate a call structure. 110 99 * … … 113 102 void ipc_call_free(call_t *call) 114 103 { 115 ASSERT(!(call->flags & IPC_CALL_STATIC_ALLOC));116 104 /* Check to see if we have data in the IPC_M_DATA_SEND buffer. */ 117 105 if (call->buffer) … … 574 562 ASSERT((call->flags & IPC_CALL_ANSWERED) || 575 563 (call->flags & IPC_CALL_NOTIF)); 576 ASSERT(!(call->flags & IPC_CALL_STATIC_ALLOC));577 564 578 565 /* -
kernel/generic/src/ipc/sysipc.c
r35bb2e7 r4ca28512 1000 1000 1001 1001 if (call->flags & IPC_CALL_NOTIF) { 1002 ASSERT(! (call->flags & IPC_CALL_STATIC_ALLOC));1003 1004 1002 /* Set in_phone_hash to the interrupt counter */ 1005 1003 call->data.phone = (void *) call->priv; … … 1014 1012 if (call->flags & IPC_CALL_ANSWERED) { 1015 1013 process_answer(call); 1016 1017 ASSERT(! (call->flags & IPC_CALL_STATIC_ALLOC));1018 1014 1019 1015 if (call->flags & IPC_CALL_DISCARD_ANSWER) {
Note:
See TracChangeset
for help on using the changeset viewer.