Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make foreign imports of realpath and utimensat safe
Although these functions never return EINTR, signals may still affect these calls. In particular, realpath on Mac OS X contains a retry-if-interrupted loop on statfs64. If the file system is slow (e.g. SSHFS), the call will hang due to the barrage of periodic alarm signals from the GHC runtime. Marking the foreign import as safe appears to silence the alarm signals. We also do this for utimensat as a precautionary measure. Given that these are system calls that manipulate the file system, the performance overhead should be negligible. Fixes haskell#35.
- Loading branch information