Skip to content
  • Andreas Klebinger's avatar
    winio: Clean up code surrounding IOPort primitives. · 750ebaee
    Andreas Klebinger authored
    According to phyx these should only be read and written once per
    object. Not neccesarily in that order.
    
    To strengthen that guarantee the primitives will now throw an
    exception if we violate this invariant.
    
    As a consequence we can eliminate some code from their primops.
    In particular code dealing with multiple queued readers/writers
    now simply checks the invariant and throws an exception if it
    was violated. That is in contrast to mvars which will do things
    like wake up all readers, queue multi writers etc.
    750ebaee