diff --git a/src/cache_daemon/cache_daemon.ml b/src/cache_daemon/cache_daemon.ml index 5b5c3099b6d..a02e87911f6 100644 --- a/src/cache_daemon/cache_daemon.ml +++ b/src/cache_daemon/cache_daemon.ml @@ -181,10 +181,9 @@ let client_thread (events, (client : client)) = in handle client and finally () = - ( try - Unix.shutdown client.fd Unix.SHUTDOWN_ALL; - Unix.close client.fd + ( try Unix.shutdown client.fd Unix.SHUTDOWN_ALL with Unix.Unix_error (Unix.ENOTCONN, _, _) -> () ); + Unix.close client.fd; Evt.sync (Evt.send events (Client_left client.fd)) in try Exn.protect ~f ~finally with diff --git a/test/blackbox-tests/dune.inc b/test/blackbox-tests/dune.inc index bd6dcded540..b2934938e6a 100644 --- a/test/blackbox-tests/dune.inc +++ b/test/blackbox-tests/dune.inc @@ -358,8 +358,7 @@ (action (chdir test-cases/dune-cache/trim - (progn (run dune-cram run run.t) (diff? run.t run.t.corrected)))) - (enabled_if (<> %{ocaml-config:system} macosx))) + (progn (run dune-cram run run.t) (diff? run.t run.t.corrected))))) (rule (alias dune-init) diff --git a/test/blackbox-tests/gen_tests.ml b/test/blackbox-tests/gen_tests.ml index d96e0a94395..e1c1211e1e1 100644 --- a/test/blackbox-tests/gen_tests.ml +++ b/test/blackbox-tests/gen_tests.ml @@ -221,7 +221,7 @@ let exclusions = ; make "merlin/merlin-tests" ~external_deps:true ; make "use-meta" ~external_deps:true ; make "output-obj" ~skip_platforms:[ Mac; Win ] ~only_ocaml:(">=", "4.06.0") - ; make "dune-cache/trim" ~skip_platforms:[ Mac ] + ; make "dune-cache/trim" ; make "github644" ~external_deps:true ; make "private-public-overlap" ~external_deps:true ; make "reason" ~external_deps:true