Safe Haskell | None |
---|---|
Language | Haskell2010 |
Globally unique names to be used as references in the interprocess communication.
The implementation must guarantee that no two processes can generate
the same unique SOName
independently at the same time.
To ensure this, the implementation uses three different seeds:
C
rand()
with a time-dependent seedsrand(time(NULL))
- Process id taken from
getpid
orGetCurrentProcessId
(unique across process). - A global auto-incremented variable (unique within a process).
Synopsis
- data SOName a
- hPutSOName :: Handle -> SOName a -> IO ()
- hGetSOName :: Handle -> IO (Maybe (SOName a))
- unsafeWithSOName :: SOName a -> (CString -> IO b) -> IO b
Documentation
Reference to a shared object; can be sent to other processes.
Instances
Eq (SOName a) Source # | |
Ord (SOName a) Source # | |
Defined in Foreign.SharedObjectName.Internal | |
Read (SOName a) Source # | |
Show (SOName a) Source # | |
Storable (SOName a) Source # | |
Defined in Foreign.SharedObjectName.Internal |
hPutSOName :: Handle -> SOName a -> IO () Source #
Write a shared object name into somwhere referenced by a handle. Useful for sending references to other processes via pipes.