diff options
Diffstat (limited to 'kern/ipc_kobject.c')
-rw-r--r-- | kern/ipc_kobject.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/kern/ipc_kobject.c b/kern/ipc_kobject.c index 5b355264..37d4eb99 100644 --- a/kern/ipc_kobject.c +++ b/kern/ipc_kobject.c @@ -177,15 +177,21 @@ ipc_kobject_server(request) #endif /* MACH_MACHINE_ROUTINES */ ) { (*routine)(&request->ikm_header, &reply->ikm_header); - } - else if (!ipc_kobject_notify(&request->ikm_header,&reply->ikm_header)){ + kernel_task->messages_received++; + } else { + if (!ipc_kobject_notify(&request->ikm_header, + &reply->ikm_header)) { ((mig_reply_header_t *) &reply->ikm_header)->RetCode = MIG_BAD_ID; #if MACH_IPC_TEST printf("ipc_kobject_server: bogus kernel message, id=%d\n", request->ikm_header.msgh_id); #endif /* MACH_IPC_TEST */ + } else { + kernel_task->messages_received++; + } } + kernel_task->messages_sent++; } check_simple_locks(); |