Adds support for interacting with devices on macOS
Block devices currently did not work on macOS,
due to a bug that prevents poll(2) from working with
block devices. This fixes that by creating a new thread
that monitors block devices using select(2). The thread is
created the first time a user computation attempts to read
or write to a block devices. The implementation of the new
select manager is in select.ml
Additionally, the select manager also needed an eventfd system.
The eventfd system from sched.ml was refactoring into a
re-usable model that encapsulates some of the internal state
in posix_eventfd.ml.
677862
-
-
Jan 22 00:37 +00:00