{-# LANGUAGE BangPatterns #-} {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE CPP #-} {-# LANGUAGE ForeignFunctionInterface #-} -- | An implementation of TLS using the standard, Posix -- `pthread_create_key` routine. -- -- Note that because this implementation uses Posix threads, it does -- NOT care about Haskell IO threads. This module is generally used -- to avoid problems with data structures or other APIs that are not -- thread safe. That is, pthread-based TLS is sufficient to disallow -- simultaneous access, irrespective of where IO threads migrate to. module Data.TLS.PThread ( TLS , mkTLS , getTLS , allTLS , forEachTLS_ , freeAllTLS -- * Deprecated, backwards compatibility , freeTLS ) where -- Same as the internal module but with limited export: import Data.TLS.PThread.Internal