Changeset a307beb in mainline for kernel/generic/src/ipc/ipc.c
- Timestamp:
- 2010-04-14T14:41:54Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- bdfd3c97
- Parents:
- e43cdac
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/ipc/ipc.c
re43cdac ra307beb 219 219 bool do_lock = ((!selflocked) || callerbox != (&TASK->answerbox)); 220 220 221 spinlock_lock(&TASK->lock); 222 TASK->ipc_info.answer_sent++; 223 spinlock_unlock(&TASK->lock); 224 221 225 call->flags |= IPC_CALL_ANSWERED; 222 226 … … 276 280 static void _ipc_call(phone_t *phone, answerbox_t *box, call_t *call) 277 281 { 282 spinlock_lock(&TASK->lock); 283 TASK->ipc_info.call_sent++; 284 spinlock_unlock(&TASK->lock); 285 278 286 if (!(call->flags & IPC_CALL_FORWARDED)) { 279 287 atomic_inc(&phone->active_calls); … … 376 384 int ipc_forward(call_t *call, phone_t *newphone, answerbox_t *oldbox, int mode) 377 385 { 386 spinlock_lock(&TASK->lock); 387 TASK->ipc_info.forwarded++; 388 spinlock_unlock(&TASK->lock); 389 378 390 spinlock_lock(&oldbox->lock); 379 391 list_remove(&call->link); … … 416 428 spinlock_lock(&box->lock); 417 429 if (!list_empty(&box->irq_notifs)) { 430 431 spinlock_lock(&TASK->lock); 432 TASK->ipc_info.irq_notif_recieved++; 433 spinlock_unlock(&TASK->lock); 434 418 435 ipl = interrupts_disable(); 419 436 spinlock_lock(&box->irq_lock); … … 425 442 interrupts_restore(ipl); 426 443 } else if (!list_empty(&box->answers)) { 444 spinlock_lock(&TASK->lock); 445 TASK->ipc_info.answer_recieved++; 446 spinlock_unlock(&TASK->lock); 447 427 448 /* Handle asynchronous answers */ 428 449 request = list_get_instance(box->answers.next, call_t, link); … … 430 451 atomic_dec(&request->data.phone->active_calls); 431 452 } else if (!list_empty(&box->calls)) { 453 454 spinlock_lock(&TASK->lock); 455 TASK->ipc_info.call_recieved++; 456 spinlock_unlock(&TASK->lock); 457 432 458 /* Handle requests */ 433 459 request = list_get_instance(box->calls.next, call_t, link);
Note:
See TracChangeset
for help on using the changeset viewer.