Hoogle Search
Within LTS Haskell 24.6 (ghc-9.10.2)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
ThrownSTM :: [TAction] -> Maybe MaskingState -> ThreadActiondejafu Test.DejaFu.Conc An STM transaction threw an exception. Give the resultant masking state after jumping to the exception handler (if the thread is still alive).
-
dejafu Test.DejaFu.Conc Will execute an STM transaction, possibly waking up some threads.
newtype
ModelSTM (n :: Type -> Type) adejafu Test.DejaFu.Conc.Internal.STM The underlying monad is based on continuations over primitive actions. This is not Cont because we want to give it a custom MonadFail instance.
ModelSTM :: ((a -> STMAction n) -> STMAction n) -> ModelSTM (n :: Type -> Type) adejafu Test.DejaFu.Conc.Internal.STM No documentation available.
runModelSTM :: ModelSTM (n :: Type -> Type) a -> (a -> STMAction n) -> STMAction ndejafu Test.DejaFu.Conc.Internal.STM No documentation available.
BlockedSTM :: [TAction] -> ThreadActiondejafu Test.DejaFu.Types Got blocked in an STM transaction.
ThrownSTM :: [TAction] -> Maybe MaskingState -> ThreadActiondejafu Test.DejaFu.Types An STM transaction threw an exception. Give the resultant masking state after jumping to the exception handler (if the thread is still alive).
-
dejafu Test.DejaFu.Types Will execute an STM transaction, possibly waking up some threads.
callSTM :: Addressable s => s -> (a -> STM ()) -> STM b -> a -> Process (Either ExitReason b)distributed-process-client-server Control.Distributed.Process.ManagedProcess.Client Manages an rpc-style interaction with a server process, using STM actions to read/write data. The server process is monitored for the duration of the call. The stm write expression is passed the input, and the read expression is evaluated and the result given as Right b or Left ExitReason if a monitor signal is detected whilst waiting. Note that the caller will exit (with ExitOther String) if the server address is un-resolvable. A note about scheduling and timing guarantees (or lack thereof): It is not possibly to guarantee the contents of ExitReason in cases where this API fails due to server exits/crashes. We establish a monitor prior to evaluating the stm writer action, however monitor is asychronous and we've no way to know whether or not the scheduler will allow monitor establishment to proceed first, or the stm transaction. As a result, assuming that your server process can diefailexit on evaluating the read end of the STM write we perform here (and we assume this is very likely, since we apply no safety rules and do not even worry about serializing thunks passed from the client's thread), it is just as likely that in the case of failure you will see a reason such as ExitOther DiedUnknownId due to the server process crashing before the node controller can establish a monitor. As unpleasant as this is, there's little we can do about it without making false assumptions about the runtime. Cloud Haskell's semantics guarantee us only that we will see some monitor signal in the event of a failure here. To provide a more robust error handling, you can catch/trap failures in the server process and return a wrapper reponse datum here instead. This will still be subject to the failure modes described above in cases where the server process exits abnormally, but that will at least allow the caller to differentiate between expected and exceptional failure conditions.
CastMessage :: a -> Message a bdistributed-process-client-server Control.Distributed.Process.ManagedProcess.Internal.Types No documentation available.