Changeset 79872cd in mainline
- Timestamp:
- 2008-08-27T21:01:22Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 69145dae
- Parents:
- ddb0df5
- Location:
- kernel/generic
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/errno.h
rddb0df5 r79872cd 57 57 #define EBUSY -14 /* Resource is busy */ 58 58 #define EOVERFLOW -15 /* The result does not fit its size. */ 59 #define EINTR -16 /* Operation was interrupted. */ 59 60 60 61 #endif -
kernel/generic/include/ipc/ipc.h
rddb0df5 r79872cd 294 294 extern void ipc_answer(answerbox_t *, call_t *); 295 295 extern int ipc_call(phone_t *, call_t *); 296 extern voidipc_call_sync(phone_t *, call_t *);296 extern int ipc_call_sync(phone_t *, call_t *); 297 297 extern void ipc_phone_init(phone_t *); 298 298 extern void ipc_phone_connect(phone_t *, answerbox_t *); -
kernel/generic/src/ipc/ipc.c
rddb0df5 r79872cd 172 172 * @param phone Destination kernel phone structure. 173 173 * @param request Call structure with request. 174 */ 175 void ipc_call_sync(phone_t *phone, call_t *request) 174 * 175 * @return EOK on success or EINTR if the sleep was interrupted. 176 */ 177 int ipc_call_sync(phone_t *phone, call_t *request) 176 178 { 177 179 answerbox_t sync_box; … … 183 185 184 186 ipc_call(phone, request); 185 ipc_wait_for_call(&sync_box, SYNCH_NO_TIMEOUT, SYNCH_FLAGS_NONE); 187 if (!ipc_wait_for_call(&sync_box, SYNCH_NO_TIMEOUT, 188 SYNCH_FLAGS_INTERRUPTIBLE)) 189 return EINTR; 190 return EOK; 186 191 } 187 192 -
kernel/generic/src/ipc/sysipc.c
rddb0df5 r79872cd 443 443 444 444 if (!(res = request_preprocess(&call))) { 445 ipc_call_sync(phone, &call); 445 rc = ipc_call_sync(phone, &call); 446 if (rc != EOK) 447 return rc; 446 448 process_answer(&call); 447 449 } else { … … 481 483 482 484 if (!(res = request_preprocess(&call))) { 483 ipc_call_sync(phone, &call); 485 rc = ipc_call_sync(phone, &call); 486 if (rc != EOK) 487 return rc; 484 488 process_answer(&call); 485 489 } else
Note:
See TracChangeset
for help on using the changeset viewer.