Changeset 2405bb5 in mainline for kernel/generic/src/ipc/sysipc.c
- Timestamp:
- 2012-08-15T19:28:43Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7975433
- Parents:
- 691d8d8
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/ipc/sysipc.c
r691d8d8 r2405bb5 420 420 int rc = EOK; 421 421 422 spinlock_lock(&answer->forget_lock); 423 if (answer->forget) { 424 /* 425 * This is a forgotten call and answer->sender is not valid. 426 */ 427 spinlock_unlock(&answer->forget_lock); 428 /* TODO: free the call and its resources */ 429 return rc; 430 } else { 431 /* 432 * Hold the sender task so that it cannot suddenly disappear 433 * while we are working with it. 434 */ 435 task_hold(answer->sender); 436 } 437 spinlock_unlock(&answer->forget_lock); 438 422 439 if ((native_t) IPC_GET_RETVAL(answer->data) == EHANGUP) { 423 440 /* In case of forward, hangup the forwared phone, … … 434 451 } 435 452 436 if (!olddata) 453 if (!olddata) { 454 task_release(answer->sender); 437 455 return rc; 456 } 438 457 439 458 switch (IPC_GET_IMETHOD(*olddata)) { … … 469 488 } 470 489 490 task_release(answer->sender); 491 471 492 return rc; 472 493 }
Note:
See TracChangeset
for help on using the changeset viewer.