我看到有用于select(2)和poll(2)的包装库,但它们似乎并没有被广泛使用。
基于epoll的System.Event
使用here已合并为GHC.Event
(尽管loop
函数已放入私有模块GHC.Event.Manager
并且没有导出,因此显然只有getSystemEventManager
可用。 GHC.Event
说"这个模块应该被认为是GHC内部的。",这让我感到疑惑 - 是不是有一些库包装了我应该使用的,而不是?
我的用例的一些背景:我想对udev事件执行操作(例如在亮度改变时更新显示)。这里的示例使用select(2)包装器:https://github.com/pxqr/udev/blob/master/examples/monitor.hs#L36 我希望使用更现代/更好维护和/或更少依赖的东西。