broken pipe when interrupting on Windows
```hs
shell> ghc -e "mapM print [1..]"
1
2
3
...
44435
Ctrl^Z
<interactive>: user interrupt
ghc: panic! (the 'impossible' happened)
(GHC version 8.0.2 for x86_64-unknown-mingw32):
<stdout>: hFlush: resource vanished (Broken pipe)
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 8.0.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"broken pipe when printing infinite list (maybe interrupt handler error?)","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"8.0.2","keywords":["broken","pipe"],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"{{{#!hs\r\nshell> ghc -e \"mapM print [1..]\"\r\n1\r\n2\r\n3\r\n...\r\n44435\r\nCtrl^Z\r\n<interactive>: user interrupt\r\nghc: panic! (the 'impossible' happened)\r\n (GHC version 8.0.2 for x86_64-unknown-mingw32):\r\n <stdout>: hFlush: resource vanished (Broken pipe)\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->
issue