[Pkg-haskell-commits] [SCM] haskell-testpack branch, master, updated. debian/1.0.2-1-4-gb0d6b36

John Goerzen jgoerzen at complete.org
Fri Apr 23 14:50:46 UTC 2010


The following commit has been merged in the master branch:
commit 8d3302af7ae62ffe46107f48a79d79a4a20ad0ab
Author: John Goerzen <jgoerzen at complete.org>
Date:   Thu Dec 16 02:14:04 2004 +0100

    Checkpointing
    
    Keywords:
    
    
    (jgoerzen at complete.org--projects/missingh--head--0.7--patch-70)

diff --git a/ChangeLog b/ChangeLog
index b0997ef..b717bea 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,18 @@
 # arch-tag: automatic-ChangeLog--jgoerzen at complete.org--projects/missingh--head--0.7
 #
 
+2004-12-15 19:14:04 GMT	John Goerzen <jgoerzen at complete.org>	patch-70
+
+    Summary:
+      Checkpointing
+    Revision:
+      missingh--head--0.7--patch-70
+
+
+    modified files:
+     ChangeLog libsrc/MissingH/HVIO.hs
+
+
 2004-12-15 19:11:15 GMT	John Goerzen <jgoerzen at complete.org>	patch-69
 
     Summary:
diff --git a/libsrc/MissingH/HVIO.hs b/libsrc/MissingH/HVIO.hs
index 0adf6ab..dbf9b03 100644
--- a/libsrc/MissingH/HVIO.hs
+++ b/libsrc/MissingH/HVIO.hs
@@ -194,19 +194,19 @@ instance HVIOSeeker Handle where
 ----------------------------------------------------------------------
 -- VIO Support
 ----------------------------------------------------------------------
-type VIOCloseSupport a = (Bool, a)
+type VIOCloseSupport a = IORef (Bool, a)
 
-vioc_isopen :: VIOCloseSupport a -> Bool
-vioc_isopen x = fst x
+vioc_isopen :: VIOCloseSupport a -> IO Bool
+vioc_isopen x = readIORef x >>= return . fst
 
-vioc_get :: VIOCloseSupport a -> a
-vioc_get x = snd x
+vioc_get :: VIOCloseSupport a -> IO a
+vioc_get x = readIORef x >>= return . snd
 
-vioc_close :: VIOCloseSupport a -> VIOCloseSupport a
-vioc_close (_, dat) = (False, dat)
+vioc_close :: VIOCloseSupport a -> IO ()
+vioc_close x = modifyIORef x (\ (_, dat) -> (False, dat))
 
-vioc_update :: VIOCloseSupport a -> a -> VIOCloseSupport a
-vioc_update (stat, dat) newval = (stat, newval)
+vioc_update :: VIOCloseSupport a -> a -> IO ()
+vioc_update x newdat = modifyIORef x (\ (stat, _) -> (stat, newdat))
 
 ----------------------------------------------------------------------
 -- Stream Readers/Writers

-- 
haskell-testpack



More information about the Pkg-haskell-commits mailing list