mac-0.1.0.0: Static Mandatory Access Control in Haskell

Safe HaskellTrustworthy
LanguageHaskell98

MAC.Control

Description

Provide primitives to communicate among family members. It provides an API for sequential joinMAC and concurrent (forkMAC) setting

Synopsis

Documentation

joinMAC :: Less l l' => MAC l' a -> MAC l (Labeled l' a) Source

Primitive which allows family members to safely communicate. The function finishes even if an exception is raised---the exception is rethrown when the returned value gets inspected. This function must not be used in a concurrent setting.

forkMAC :: Less l l' => MAC l' () -> MAC l () Source

Safely spawning new threads

forkMACMVar :: (Less l' l', Less l l') => MAC l' a -> MAC l (MACMVar l' a) Source

Safely spawning new threads. The function returns a labeled MVar where the outcome of the thread is stored