diff --git a/docs/users_guide/runtime_control.rst b/docs/users_guide/runtime_control.rst index 1377db771d0aee52727c629bf6719e513f51428e..efd549ba11222d07446de096aa370f10e4bc92a1 100644 --- a/docs/users_guide/runtime_control.rst +++ b/docs/users_guide/runtime_control.rst @@ -1555,6 +1555,7 @@ Getting information about the RTS ,("Compiler unregisterised", "NO") ,("Tables next to code", "YES") ,("Flag -with-rtsopts", "") + ,("I/O manager default", "select") ] The information is formatted such that it can be read as a of type @@ -1608,3 +1609,8 @@ Getting information about the RTS ``Flag -with-rtsopts`` The value of the GHC flag :ghc-flag:`-with-rtsopts=⟨opts⟩` at compile/link time. + + ``I/O manager default`` + The name of the I/O manager subsystem that will be used by default + for this program. This can be overridden with the + :rts-flag:`--io-manager=(name)` RTS flag. diff --git a/rts/RtsUtils.c b/rts/RtsUtils.c index 6a1faf7a30797e7afefd57121d583e480a644b10..f842c1cc3c434fee6ce29176abad626feccc8e1f 100644 --- a/rts/RtsUtils.c +++ b/rts/RtsUtils.c @@ -14,6 +14,7 @@ #include "Ticky.h" #include "Schedule.h" #include "RtsFlags.h" +#include "IOManager.h" #include <time.h> @@ -385,6 +386,8 @@ void printRtsInfo(const RtsConfig rts_config) { mkRtsInfoPair("Tables next to code", TablesNextToCode); mkRtsInfoPair("Flag -with-rtsopts", /* See #15261 */ rts_config.rts_opts != NULL ? rts_config.rts_opts : ""); + selectIOManager(); /* resolve the io-manager, accounting for flags */ + mkRtsInfoPair("I/O manager default", showIOManager()); printf(" ]\n"); }