summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2021-06-17 12:36:18 +0100
committerMatthew Pickering <matthewtpickering@gmail.com>2021-06-17 12:37:03 +0100
commit4bb4c6ba5a9890b6ddb53e5b4f84f38ea0ddeba9 (patch)
tree7097cbe5302c9a0dfd1520cb089d036209b08bc4
parenta0622459f1d9a7068e81b8a707ffc63e153444f8 (diff)
downloadhaskell-wip/t20006.tar.gz
RTS: Fix flag parsing for --eventlog-flush-intervalwip/t20006
Fixes #20006
-rw-r--r--rts/RtsFlags.c4
-rw-r--r--testsuite/tests/rts/flags/T20006.hs4
-rw-r--r--testsuite/tests/rts/flags/all.T4
3 files changed, 10 insertions, 2 deletions
diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c
index 9bf3f692ab..842a461eaa 100644
--- a/rts/RtsFlags.c
+++ b/rts/RtsFlags.c
@@ -990,8 +990,8 @@ error = true;
printRtsInfo(rtsConfig);
stg_exit(0);
}
- else if (strequal("eventlog-flush-interval=",
- &rts_argv[arg][2])) {
+ else if (!strncmp("eventlog-flush-interval=",
+ &rts_argv[arg][2], 24)) {
OPTION_SAFE;
double intervalSeconds = parseDouble(rts_argv[arg]+26, &error);
if (error) {
diff --git a/testsuite/tests/rts/flags/T20006.hs b/testsuite/tests/rts/flags/T20006.hs
new file mode 100644
index 0000000000..d82a4bd93b
--- /dev/null
+++ b/testsuite/tests/rts/flags/T20006.hs
@@ -0,0 +1,4 @@
+module Main where
+
+main :: IO ()
+main = return ()
diff --git a/testsuite/tests/rts/flags/all.T b/testsuite/tests/rts/flags/all.T
index 6d9368e2c1..04c2907fce 100644
--- a/testsuite/tests/rts/flags/all.T
+++ b/testsuite/tests/rts/flags/all.T
@@ -51,3 +51,7 @@ test('T12870h',
only_ways(['normal'])],
multimod_compile_and_run,
['T12870g', '-rtsopts=ignoreAll -with-rtsopts="-G3"'])
+
+test('T20006', [extra_run_opts('+RTS --eventlog-flush-interval=1')],
+ compile_and_run,
+ ['-eventlog'])