Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
Source project has a limited visibility.
  • Duncan Coutts's avatar
    aaa294d0
    Make struct CapIOManager be fully opaque · aaa294d0
    Duncan Coutts authored and Marge Bot's avatar Marge Bot committed
    Provide an opaque (forward) definition in Capability.h (since the cap
    contains a *CapIOManager) and then only provide a full definition in
    a new file IOManagerInternals.h. This new file is only supposed to be
    included by the IOManager implementation, not by its users. So that
    means IOManager.c and individual I/O manager implementations.
    
    The posix/Signals.c still needs direct access, but that should be
    eliminated. Anything that needs direct access either needs to be clearly
    part of an I/O manager (e.g. the sleect() one) or go via a proper API.
    aaa294d0
    History
    Make struct CapIOManager be fully opaque
    Duncan Coutts authored and Marge Bot's avatar Marge Bot committed
    Provide an opaque (forward) definition in Capability.h (since the cap
    contains a *CapIOManager) and then only provide a full definition in
    a new file IOManagerInternals.h. This new file is only supposed to be
    included by the IOManager implementation, not by its users. So that
    means IOManager.c and individual I/O manager implementations.
    
    The posix/Signals.c still needs direct access, but that should be
    eliminated. Anything that needs direct access either needs to be clearly
    part of an I/O manager (e.g. the sleect() one) or go via a proper API.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.