Workaround for getCapability unsafe behavior?
- Dominant language
- Haskell
- Stars
- 12
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
Greetings!
I believe I am experiencing some nondeterminism in `brick` and `vty` due to the fact that this library's `getCapability` call uses `unsafePerformIO`. The result of `getCapability` seems to be nondeterministic and occasionally results in program runs with bad terminal configurations.
Would a version `getCapabilityIO :: ... -> IO (Maybe a)` help, or is the problem deeper? I don't see a way to get capabilities without going through `getCapability`. I'd be happy to write a patch to add an `IO`-friendly version, but I don't know if the real nondeterminism problem lies elsewhere (there are comments in the code about thread-unsafety, so I wonder).
Thanks!
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.