summaryrefslogtreecommitdiff
path: root/rts/eventlog
diff options
context:
space:
mode:
authorAlexander Vershilov <alexander.vershilov@gmail.com>2015-01-18 10:58:57 +0000
committerSergei Trofimovich <siarheit@google.com>2015-01-18 12:17:38 +0000
commit2edb4a7bd5b892ddfac75d0b549d6682a0be5c02 (patch)
treeb19cdd7305baacc1beb10fb0eb300f1a735ba991 /rts/eventlog
parent11881ec6f8d4db881671173441df87c2457409f4 (diff)
downloadhaskell-2edb4a7bd5b892ddfac75d0b549d6682a0be5c02.tar.gz
Trac #9384: fix increasing capabilites number for eventlog.
Event log had inconcistent support for increacing capabilies number, as header were not inserted in capability buffer. It resulted in a ghc-events crash (see #9384). This commit fixes this issue by inserting required header when number of capabilies grows. Reviewers: simonmar, Mikolaj, trofi, austin Reviewed By: Mikolaj, trofi, austin Subscribers: carter, thomie Differential Revision: https://phabricator.haskell.org/D592 GHC Trac Issues: #9384
Diffstat (limited to 'rts/eventlog')
-rw-r--r--rts/eventlog/EventLog.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/rts/eventlog/EventLog.c b/rts/eventlog/EventLog.c
index ef96f3c880..f830ec19a0 100644
--- a/rts/eventlog/EventLog.c
+++ b/rts/eventlog/EventLog.c
@@ -500,6 +500,15 @@ moreCapEventBufs (nat from, nat to)
for (c = from; c < to; ++c) {
initEventsBuf(&capEventBuf[c], EVENT_LOG_SIZE, c);
}
+
+ // The from == 0 already covered in initEventLogging, so we are interested
+ // only in case when we are increasing capabilities number
+ if (from > 0) {
+ for (c = from; c < to; ++c) {
+ postBlockMarker(&capEventBuf[c]);
+ }
+ }
+
}