-
Notifications
You must be signed in to change notification settings - Fork 413
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[cache] Fix dune freezing on MacOS with cache enabled
Summary: On MacOS shutdown on a socket raises `ENOTCONN` even when only one side of the duplex communication is closed. This doesn't make much sense to me (also, man pages are rather fuzzy around this, and on Linux it behaves differently), but it is what it is. Since cache/client calls `Unix.shutdown client.fd Unix.SHUTDOWN_SEND` during teardown, `cache_daemon.ml` gets an exception on its shutdown, which it swallows and therefore never closes `client.fd`. Test plan: 1. Cache trimming tests work (and now enabled for all platforms), 2. Freezing described in #3233 is now gone. 3. Still works fine on Linux. Fixes #3233 #2973 Signed-off-by: Artem Pyanykh <artem.pyanykh@gmail.com>
- Loading branch information
1 parent
39796ab
commit b28043c
Showing
3 changed files
with
4 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters