status-im / nim-chronos

Chronos - An efficient library for asynchronous programming
https://status-im.github.io/nim-chronos/
Apache License 2.0
362 stars 51 forks source link

IOSelectors refactoring to properly support signals and processes. (AsyncProc 2) #366

Closed cheatfate closed 1 year ago

cheatfate commented 1 year ago
  1. Eliminate and deprecate exception usage in core ioselectors components.
  2. Add ability to switch engines.
  3. Remove Windows select() module, because it is not needed and not used in chronos.
  4. Revisited all operations to properl handle EINTR.
  5. Removed legacy Selector.count which was introduced by Nim developers and did not perform correctly.