Ensuring that an OCaml binary never calls Unix.select

At work we have done this kind of “a posteriori” verification by scanning .cmt files; you can look for ocurrences of Unix.select using the expression field of Tast_iterator:

https://github.com/ocaml/ocaml/blob/trunk/typing/tast_iterator.mli#L39

The hardest part is finding all the .cmt files. If you are building in a monorepo, this should not be very hard.

Cheers,
Nicolas

2 Likes