Changeset aadde10 in mainline
- Timestamp:
- 2018-03-13T18:01:48Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a36f442
- Parents:
- fce9b19
- git-author:
- Jakub Jermar <jakub@…> (2018-03-11 10:46:02)
- git-committer:
- Jakub Jermar <jakub@…> (2018-03-13 18:01:48)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/ipc/ipcrsc.c
rfce9b19 raadde10 39 39 * 40 40 * The pattern of usage of the resources is: 41 * - allocate empty phone capability slot, connect | deallocate slot 41 * - allocate a capability and phone kernel object (do not publish yet), 42 * connect to the answerbox, and finally publish the capability 42 43 * - disconnect connected phone (some messages might be on the fly) 43 * - find phone in slotand send a message using phone44 * - find phone capability and send a message using phone 44 45 * - answer message to phone 45 46 * - hangup phone (the caller has hung up) … … 53 54 * atomic on all platforms) 54 55 * 55 * - To find an empty phone capability slot, the TASK must be locked56 56 * - To answer a message, the answerbox must be locked 57 57 * - The locking of phone and answerbox is done at the ipc_ level. … … 73 73 * *** Connect_me_to *** 74 74 * The caller sends IPC_M_CONNECT_ME_TO to an answerbox. The server receives 75 * 'phoneid' of the connecting phone as an ARG5. If it answers with RETVAL= 0,76 * the phone call is accepted, otherwise it is refused.75 * 'phoneid' of the connecting phone as an ARG5. If it answers with RETVAL=EOK, 76 * the phone call is accepted, otherwise it is refused. 77 77 * 78 78 * *** Connect_to_me *** 79 79 * The caller sends IPC_M_CONNECT_TO_ME. 80 80 * The server receives an automatically opened phoneid. If it accepts 81 * (RETVAL= 0), it can use the phoneid immediately.Possible race condition can81 * (RETVAL=EOK), it can use the phoneid immediately. Possible race condition can 82 82 * arise, when the client receives messages from new connection before getting 83 83 * response for connect_to_me message. Userspace should implement handshake … … 95 95 * - The phone is disconnected. EHANGUP response code is sent to the calling 96 96 * task. All new calls through this phone get a EHUNGUP error code, the task 97 * is expected to send ansys_ipc_hangup after cleaning up its internal97 * is expected to call sys_ipc_hangup after cleaning up its internal 98 98 * structures. 99 99 *
Note:
See TracChangeset
for help on using the changeset viewer.