Commit 2708c22b authored by archblob's avatar archblob Committed by Ben Gamari
Browse files

Close ticky profiling file stream after printing (#9405)

Test Plan: T9405

Reviewers: simonmar, austin, bgamari

Reviewed By: simonmar, bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D2008

GHC Trac Issues: #9405
parent 997312b0
......@@ -590,9 +590,11 @@ void setupRtsFlags (int *argc, char *argv[], RtsConfig rts_config)
if (RtsFlags.GcFlags.statsFile != NULL) {
initStatsFile (RtsFlags.GcFlags.statsFile);
}
#ifdef TICKY_TICKY
if (RtsFlags.TickyFlags.tickyFile != NULL) {
initStatsFile (RtsFlags.GcFlags.statsFile);
initStatsFile (RtsFlags.TickyFlags.tickyFile);
}
#endif
}
/* -----------------------------------------------------------------------------
......
......@@ -408,6 +408,9 @@ hs_exit_(rtsBool wait_foreign)
#if defined(TICKY_TICKY)
if (RtsFlags.TickyFlags.showTickyStats) PrintTickyInfo();
FILE *tf = RtsFlags.TickyFlags.tickyFile;
if (tf != NULL) fclose(tf);
#endif
#if defined(mingw32_HOST_OS) && !defined(THREADED_RTS)
......
......@@ -45,6 +45,15 @@ T5423:
"$(TEST_HC)" $(TEST_HC_OPTS) -v0 T5423.o T5423_cmm.o -o T5423$(exeext)
./T5423
.PHONY: T9405
T9405:
@'$(TEST_HC)' $(TEST_HC_OPTS) -ticky -rtsopts T9405.hs; \
./T9405 +RTS -rT9405.ticky & \
sleep 0.2; \
kill -2 $$!; \
wait $$!; \
[ -s T9405.ticky ] && echo Ticky-Ticky
# Naming convention: 'T5423_' obj-way '_' obj-src
# obj-way ::= v | dyn
# obj-src ::= gcc // using __attribute__(constructor)
......
import Control.Concurrent
main = threadDelay 2000000
......@@ -330,3 +330,6 @@ test('T10904', [ omit_ways(['ghci']), extra_run_opts('20000') ],
test('T10728', [extra_run_opts('+RTS -maxN3 -RTS'), only_ways(['threaded2'])],
compile_and_run, [''])
test('T9405', [extra_clean(['T9405.ticky'])],
run_command, ['$MAKE -s --no-print-directory T9405'])
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment