diff options
| author | Richard Kistruck | 2008-12-16 17:54:53 +0000 |
|---|---|---|
| committer | Richard Kistruck | 2008-12-16 17:54:53 +0000 |
| commit | 33546a36cced8088afb971dbae16bf8cf188d74c (patch) | |
| tree | 5f48b2df6274ab929f62a71f28cc960960af9161 /mps/code | |
| parent | 99b95ba8dafbbfb66596f973491bc842af422fc2 (diff) | |
| download | emacs-33546a36cced8088afb971dbae16bf8cf188d74c.tar.gz emacs-33546a36cced8088afb971dbae16bf8cf188d74c.zip | |
Mps br/timing global.c: report dropped messages (currently in diagnostic varieties only)
Copied from Perforce
Change: 166955
ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code')
| -rw-r--r-- | mps/code/global.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/mps/code/global.c b/mps/code/global.c index 7051225c12b..55bb5013a79 100644 --- a/mps/code/global.c +++ b/mps/code/global.c | |||
| @@ -417,13 +417,21 @@ void GlobalsPrepareToDestroy(Globals arenaGlobals) | |||
| 417 | TraceIdMessagesDestroy(arena, ti); | 417 | TraceIdMessagesDestroy(arena, ti); |
| 418 | TRACE_SET_ITER_END(ti, trace, TraceSetUNIV, arena); | 418 | TRACE_SET_ITER_END(ti, trace, TraceSetUNIV, arena); |
| 419 | 419 | ||
| 420 | /* report dropped messages (currently in diagnostic varieties only) */ | ||
| 421 | if(arena->droppedMessages > 0) { | ||
| 422 | DIAG_SINGLEF(( "GlobalsPrepareToDestroy_dropped", | ||
| 423 | "arena->droppedMessages = $U", (WriteFU)arena->droppedMessages, | ||
| 424 | NULL )); | ||
| 425 | } | ||
| 426 | |||
| 420 | /* .message.queue.empty: Empty the queue of messages before */ | 427 | /* .message.queue.empty: Empty the queue of messages before */ |
| 421 | /* proceeding to finish the arena. It is important that this */ | 428 | /* proceeding to finish the arena. It is important that this */ |
| 422 | /* is done before destroying the finalization pool as otherwise */ | 429 | /* is done before destroying the finalization pool as otherwise */ |
| 423 | /* the message queue would have dangling pointers to messages */ | 430 | /* the message queue would have dangling pointers to messages */ |
| 424 | /* whose memory has been unmapped. */ | 431 | /* whose memory has been unmapped. */ |
| 425 | if(MessagePoll(arena)) { | 432 | if(MessagePoll(arena)) { |
| 426 | DIAG_SINGLEF(( "GlobalsPrepareToDestroy", "Message queue not empty", NULL )); | 433 | DIAG_SINGLEF(( "GlobalsPrepareToDestroy_queue", |
| 434 | "Message queue not empty", NULL )); | ||
| 427 | } | 435 | } |
| 428 | MessageEmpty(arena); | 436 | MessageEmpty(arena); |
| 429 | 437 | ||