Skip to content
  • Luite Stegeman's avatar
    JS: use regular mask for blocking IO · 59c9065b
    Luite Stegeman authored and Marge Bot's avatar Marge Bot committed
    Blocking IO used uninterruptibleMask which should make any thread
    blocked on IO unreachable by async exceptions (such as those from
    timeout). This changes it to a regular mask.
    
    It's important to note that the nodejs runtime does not actually
    interrupt the blocking IO when the Haskell thread receives an
    async exception, and that file positions may be updated and buffers
    may be written after the Haskell thread has already resumed.
    
    Any file descriptor affected by an async exception interruption
    should therefore be used with caution.
    59c9065b