-- | -- Module: System.PSX -- Description: Haskell bindings for libpsx -- Copyright: (c) Nicolas Trangez, 2022 -- License: BSD-3-Clause -- Maintainer: ikke@nicolast.be -- Stability: alpha -- Portability: Linux -- -- This library embeds libpsx in a GHC Haskell-compiled application. -- -- It doesn't provide any Haskell functions. It can be (optionally) linked -- into applications which require @libpsx@-style functionality, potentially -- from C code. See @test/detect-psx.c@ for an example. -- -- Note @libpsx@ performs some trickery with signal handling in a process. -- Furthermore, when using this library, @sigfillset@ will be wrapped so -- @SIGSYS@ is /not/ set, in order for the GHC RTS @ticker@ thread not to -- block the signal and work properly with @libpsx@. -- -- See -- [this GHC proposal](https://github.com/ghc-proposals/ghc-proposals/pull/533) -- for a potential future replacement of this library using functionality built -- into the GHC RTS. -- -- __Warning:__ @libpsx@ on current Ubuntu and Debian systems (from @libcap@ -- 2.44) is broken. Hence, this library contains a bundled version of @libpsx@ -- by default. Disable the @bundled-libpsx@ flag to use a system-provided -- version of the library, which must be from @libcap@ version 2.46 or higher. module System.PSX () where