base-4.15.0.0: Basic libraries
Safe HaskellNone
LanguageHaskell2010

GHC.RTS.Flags

Description

Accessors to GHC RTS flags. Descriptions of flags can be seen in GHC User's Guide, or by running RTS help message using +RTS --help.

Since: base-4.8.0.0

Synopsis

Documentation

type RtsTime = Word64 Source #

RtsTime is defined as a StgWord64 in stg/Types.h

Since: base-4.8.2.0

data RTSFlags Source #

Parameters of the runtime system

Since: base-4.8.0.0

Instances

Instances details
Show RTSFlags #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Generic RTSFlags #

Since: base-4.15.0.0

Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep RTSFlags :: Type -> Type Source #

type Rep RTSFlags # 
Instance details

Defined in GHC.RTS.Flags

data GiveGCStats Source #

Should we produce a summary of the garbage collector statistics after the program has exited?

Since: base-4.8.2.0

Instances

Instances details
Enum GiveGCStats #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Show GiveGCStats #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Generic GiveGCStats #

Since: base-4.15.0.0

Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep GiveGCStats :: Type -> Type Source #

type Rep GiveGCStats # 
Instance details

Defined in GHC.RTS.Flags

type Rep GiveGCStats = D1 ('MetaData "GiveGCStats" "GHC.RTS.Flags" "base" 'False) ((C1 ('MetaCons "NoGCStats" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CollectGCStats" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OneLineGCStats" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SummaryGCStats" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "VerboseGCStats" 'PrefixI 'False) (U1 :: Type -> Type))))

data GCFlags Source #

Parameters of the garbage collector.

Since: base-4.8.0.0

Instances

Instances details
Show GCFlags #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Generic GCFlags #

Since: base-4.15.0.0

Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep GCFlags :: Type -> Type Source #

type Rep GCFlags # 
Instance details

Defined in GHC.RTS.Flags

type Rep GCFlags = D1 ('MetaData "GCFlags" "GHC.RTS.Flags" "base" 'False) (C1 ('MetaCons "GCFlags" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "statsFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath)) :*: (S1 ('MetaSel ('Just "giveStats") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GiveGCStats) :*: S1 ('MetaSel ('Just "maxStkSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32))) :*: (S1 ('MetaSel ('Just "initialStkSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: (S1 ('MetaSel ('Just "stkChunkSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: S1 ('MetaSel ('Just "stkChunkBufferSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))) :*: ((S1 ('MetaSel ('Just "maxHeapSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: (S1 ('MetaSel ('Just "minAllocAreaSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: S1 ('MetaSel ('Just "largeAllocLim") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32))) :*: ((S1 ('MetaSel ('Just "nurseryChunkSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: S1 ('MetaSel ('Just "minOldGenSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)) :*: (S1 ('MetaSel ('Just "heapSizeSuggestion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32) :*: S1 ('MetaSel ('Just "heapSizeSuggestionAuto") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))) :*: (((S1 ('MetaSel ('Just "oldGenFactor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: (S1 ('MetaSel ('Just "pcFreeHeap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "generations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32))) :*: ((S1 ('MetaSel ('Just "squeezeUpdFrames") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "compact") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "compactThreshold") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Double) :*: S1 ('MetaSel ('Just "sweep") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "ringBell") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "idleGCDelayTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: S1 ('MetaSel ('Just "doIdleGC") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "heapBase") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word) :*: S1 ('MetaSel ('Just "allocLimitGrace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word)) :*: (S1 ('MetaSel ('Just "numa") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "numaMask") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word)))))))

data ConcFlags Source #

Parameters concerning context switching

Since: base-4.8.0.0

Constructors

ConcFlags 

Instances

Instances details
Show ConcFlags #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Generic ConcFlags #

Since: base-4.15.0.0

Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep ConcFlags :: Type -> Type Source #

type Rep ConcFlags # 
Instance details

Defined in GHC.RTS.Flags

type Rep ConcFlags = D1 ('MetaData "ConcFlags" "GHC.RTS.Flags" "base" 'False) (C1 ('MetaCons "ConcFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "ctxtSwitchTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: S1 ('MetaSel ('Just "ctxtSwitchTicks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

data MiscFlags Source #

Miscellaneous parameters

Since: base-4.8.0.0

Instances

Instances details
Show MiscFlags #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Generic MiscFlags #

Since: base-4.15.0.0

Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep MiscFlags :: Type -> Type Source #

type Rep MiscFlags # 
Instance details

Defined in GHC.RTS.Flags

type Rep MiscFlags = D1 ('MetaData "MiscFlags" "GHC.RTS.Flags" "base" 'False) (C1 ('MetaCons "MiscFlags" 'PrefixI 'True) (((S1 ('MetaSel ('Just "tickInterval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: (S1 ('MetaSel ('Just "installSignalHandlers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "installSEHHandlers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: (S1 ('MetaSel ('Just "generateCrashDumpFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "generateStackTrace") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "machineReadable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "disableDelayedOsMemoryReturn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "internalCounters") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "linkerAlwaysPic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: (S1 ('MetaSel ('Just "linkerMemBase") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word) :*: (S1 ('MetaSel ('Just "ioManager") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 IoSubSystem) :*: S1 ('MetaSel ('Just "numIoWorkerThreads") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32))))))

data DebugFlags Source #

Flags to control debugging output & extra checking in various subsystems.

Since: base-4.8.0.0

Constructors

DebugFlags 

Fields

Instances

Instances details
Show DebugFlags #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Generic DebugFlags #

Since: base-4.15.0.0

Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep DebugFlags :: Type -> Type Source #

type Rep DebugFlags # 
Instance details

Defined in GHC.RTS.Flags

type Rep DebugFlags = D1 ('MetaData "DebugFlags" "GHC.RTS.Flags" "base" 'False) (C1 ('MetaCons "DebugFlags" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "scheduler") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "interpreter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "weak") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "gccafs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "gc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "nonmoving_gc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "block_alloc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "sanity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: (((S1 ('MetaSel ('Just "stable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "prof") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "linker") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "apply") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "stm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "squeeze") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "hpc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "sparks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))

data DoCostCentres Source #

Should the RTS produce a cost-center summary?

Since: base-4.8.2.0

Instances

Instances details
Enum DoCostCentres #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Show DoCostCentres #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Generic DoCostCentres #

Since: base-4.15.0.0

Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep DoCostCentres :: Type -> Type Source #

type Rep DoCostCentres # 
Instance details

Defined in GHC.RTS.Flags

type Rep DoCostCentres = D1 ('MetaData "DoCostCentres" "GHC.RTS.Flags" "base" 'False) ((C1 ('MetaCons "CostCentresNone" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CostCentresSummary" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "CostCentresVerbose" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CostCentresAll" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CostCentresJSON" 'PrefixI 'False) (U1 :: Type -> Type))))

data CCFlags Source #

Parameters pertaining to the cost-center profiler.

Since: base-4.8.0.0

Instances

Instances details
Show CCFlags #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Generic CCFlags #

Since: base-4.15.0.0

Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep CCFlags :: Type -> Type Source #

type Rep CCFlags # 
Instance details

Defined in GHC.RTS.Flags

data DoHeapProfile Source #

What sort of heap profile are we collecting?

Since: base-4.8.2.0

Instances

Instances details
Enum DoHeapProfile #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Show DoHeapProfile #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Generic DoHeapProfile #

Since: base-4.15.0.0

Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep DoHeapProfile :: Type -> Type Source #

type Rep DoHeapProfile # 
Instance details

Defined in GHC.RTS.Flags

type Rep DoHeapProfile = D1 ('MetaData "DoHeapProfile" "GHC.RTS.Flags" "base" 'False) (((C1 ('MetaCons "NoHeapProfiling" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HeapByCCS" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "HeapByMod" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HeapByDescr" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "HeapByType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HeapByRetainer" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "HeapByLDV" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HeapByClosureType" 'PrefixI 'False) (U1 :: Type -> Type))))

data ProfFlags Source #

Parameters of the cost-center profiler

Since: base-4.8.0.0

Instances

Instances details
Show ProfFlags #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Generic ProfFlags #

Since: base-4.15.0.0

Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep ProfFlags :: Type -> Type Source #

type Rep ProfFlags # 
Instance details

Defined in GHC.RTS.Flags

type Rep ProfFlags = D1 ('MetaData "ProfFlags" "GHC.RTS.Flags" "base" 'False) (C1 ('MetaCons "ProfFlags" 'PrefixI 'True) (((S1 ('MetaSel ('Just "doHeapProfile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DoHeapProfile) :*: (S1 ('MetaSel ('Just "heapProfileInterval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RtsTime) :*: S1 ('MetaSel ('Just "heapProfileIntervalTicks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word))) :*: ((S1 ('MetaSel ('Just "includeTSOs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "showCCSOnException") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "maxRetainerSetSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word) :*: S1 ('MetaSel ('Just "ccsLength") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word)))) :*: ((S1 ('MetaSel ('Just "modSelector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: (S1 ('MetaSel ('Just "descrSelector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Just "typeSelector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)))) :*: ((S1 ('MetaSel ('Just "ccSelector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Just "ccsSelector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String))) :*: (S1 ('MetaSel ('Just "retainerSelector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)) :*: S1 ('MetaSel ('Just "bioSelector") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String)))))))

data DoTrace Source #

Is event tracing enabled?

Since: base-4.8.2.0

Constructors

TraceNone

no tracing

TraceEventLog

send tracing events to the event log

TraceStderr

send tracing events to stderr

Instances

Instances details
Enum DoTrace #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Show DoTrace #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Generic DoTrace #

Since: base-4.15.0.0

Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep DoTrace :: Type -> Type Source #

type Rep DoTrace # 
Instance details

Defined in GHC.RTS.Flags

type Rep DoTrace = D1 ('MetaData "DoTrace" "GHC.RTS.Flags" "base" 'False) (C1 ('MetaCons "TraceNone" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TraceEventLog" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TraceStderr" 'PrefixI 'False) (U1 :: Type -> Type)))

data TraceFlags Source #

Parameters pertaining to event tracing

Since: base-4.8.0.0

Constructors

TraceFlags 

Fields

Instances

Instances details
Show TraceFlags #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Generic TraceFlags #

Since: base-4.15.0.0

Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep TraceFlags :: Type -> Type Source #

type Rep TraceFlags # 
Instance details

Defined in GHC.RTS.Flags

data TickyFlags Source #

Parameters pertaining to ticky-ticky profiler

Since: base-4.8.0.0

Instances

Instances details
Show TickyFlags #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Generic TickyFlags #

Since: base-4.15.0.0

Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep TickyFlags :: Type -> Type Source #

type Rep TickyFlags # 
Instance details

Defined in GHC.RTS.Flags

type Rep TickyFlags = D1 ('MetaData "TickyFlags" "GHC.RTS.Flags" "base" 'False) (C1 ('MetaCons "TickyFlags" 'PrefixI 'True) (S1 ('MetaSel ('Just "showTickyStats") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "tickyFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath))))

data ParFlags Source #

Parameters pertaining to parallelism

Since: base-4.8.0.0

Instances

Instances details
Show ParFlags #

Since: base-4.8.0.0

Instance details

Defined in GHC.RTS.Flags

Generic ParFlags #

Since: base-4.15.0.0

Instance details

Defined in GHC.RTS.Flags

Associated Types

type Rep ParFlags :: Type -> Type Source #

type Rep ParFlags # 
Instance details

Defined in GHC.RTS.Flags

data IoSubSystem Source #

The I/O SubSystem to use in the program.

Since: base-4.9.0.0

Constructors

IoPOSIX

Use a POSIX I/O Sub-System

IoNative

Use platform native Sub-System. For unix OSes this is the same as IoPOSIX, but on Windows this means use the Windows native APIs for I/O, including IOCP and RIO.

getIoManagerFlag :: IO IoSubSystem Source #

Needed to optimize support for different IO Managers on Windows. See Note [The need for getIoManagerFlag]