summaryrefslogtreecommitdiffstats
path: root/lib/Phi/Phi.hs
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2011-07-15 02:51:50 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2011-07-15 02:51:50 +0200
commitc6e57070ab4ca1fdaddf816208aef24f38aecaba (patch)
tree778196ebcd31bbfd5c57c9acdfcfcd205a798920 /lib/Phi/Phi.hs
parent7da8a9114eecc750a93087d0ec985641ca2a3165 (diff)
downloadphi-c6e57070ab4ca1fdaddf816208aef24f38aecaba.tar
phi-c6e57070ab4ca1fdaddf816208aef24f38aecaba.zip
It's better not to lock in native code...
Diffstat (limited to 'lib/Phi/Phi.hs')
-rw-r--r--lib/Phi/Phi.hs4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Phi/Phi.hs b/lib/Phi/Phi.hs
index 1fef39b..b517de6 100644
--- a/lib/Phi/Phi.hs
+++ b/lib/Phi/Phi.hs
@@ -5,6 +5,7 @@ module Phi.Phi ( Phi
, DefaultMessage(..)
, fromMessage
, initPhi
+ , dupPhi
, sendMessage
, receiveMessage
) where
@@ -26,6 +27,9 @@ fromMessage (Message m) = cast m
initPhi :: IO Phi
initPhi = liftM Phi newChan
+dupPhi :: Phi -> IO Phi
+dupPhi (Phi chan) = liftM Phi $ dupChan chan
+
sendMessage :: (Typeable a, Show a) => Phi -> a -> IO ()
sendMessage (Phi chan) = writeChan chan . Message