packages feed

gargoyle 0.1.1.1 → 0.1.2.0

raw patch · 4 files changed

+8/−3 lines, 4 filesdep ~basedep ~unixPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base, unix

API changes (from Hackage documentation)

Files

ChangeLog.md view
@@ -1,5 +1,9 @@ # Changelog for gargoyle +## 0.1.2.0++* Fix a bug with shutting down on Apple Silicon+ ## 0.1.1.1  * Add support for ghc 9.0.2
README.md view
@@ -1,5 +1,5 @@ # gargoyle-[![Haskell](https://img.shields.io/badge/language-Haskell-orange.svg)](https://haskell.org) [![Hackage](https://img.shields.io/hackage/v/gargoyle.svg)](https://hackage.haskell.org/package/gargoyle) [![Hackage CI](https://matrix.hackage.haskell.org/api/v2/packages/gargoyle/badge)](https://matrix.hackage.haskell.org/#/package/gargoyle)   [![Github CI](https://github.com/obsidiansystems/gargoyle/workflows/github-action/badge.svg)](https://github.com/obsidiansystems/gargoyle/actions) [![BSD3 License](https://img.shields.io/badge/license-BSD3-blue.svg)](https://github.com/obsidiansystems/gargoyle/blob/master/LICENSE)+[![Haskell](https://img.shields.io/badge/language-Haskell-orange.svg)](https://haskell.org) [![Hackage](https://img.shields.io/hackage/v/gargoyle.svg)](https://hackage.haskell.org/package/gargoyle) [![Github CI](https://github.com/obsidiansystems/gargoyle/workflows/github-action/badge.svg)](https://github.com/obsidiansystems/gargoyle/actions) [![BSD3 License](https://img.shields.io/badge/license-BSD3-blue.svg)](https://github.com/obsidiansystems/gargoyle/blob/master/LICENSE)   Gargoyle is a framework for managing daemons from Haskell. Currently, the only requirement is that the daemon be able to communicate over a Unix domain socket. See [gargoyle-postgresql](https://hackage.haskell.org/package/gargoyle-postgresql) for an example that uses gargoyle to manage postgresql.
gargoyle.cabal view
@@ -1,5 +1,5 @@ name:               gargoyle-version:            0.1.1.1+version:            0.1.2.0 license:            BSD3 license-file:       LICENSE author:             Obsidian Systems LLC
src/Gargoyle.hs view
@@ -187,7 +187,8 @@           n <- takeMVar numClientsVar           case pred n of             0 -> do-              shutdown controlSocket ShutdownBoth+              -- If the client side beats us to this, we'll get an error here. This might be specific to Apple Silicon.+              catch (shutdown controlSocket ShutdownBoth) $ \(_ :: IOException) -> pure ()               -- We have to explicitly kill the accept thread, because otherwise (sometimes?) 'accept' will begin returning EAGAIN, and ghc will continuously retry it.  This busywait consumes 100% of CPU, prevents the monitor from actually exiting, and leaves the control socket and lock file in a state where another monitor can't be started.               killThread acceptThread               putMVar shutdownVar ()