Log: savedState.bin: openFile: resource busy (file is locked)

this does not occur if the program wasnt loaded.  My best guess here
is that B.readFile isnt completing and closing the file for some
reason.  Is there a good way to force this?

Lazy IO. So force the result to be evaluated, and then close the handle,
or use strict bytestring reading.

There is no visible handle.  It's all hidden in readFile.
I will try forcing the data.

I tried to force the data with:

    loadState db = do
        d <- decode <$> B.readFile stateFile
        let force = sum $ M.elems $ M.size `fmap` d
        force `seq` atomically $ writeTVar db d

and I get the same error when trying to writeFile after doing
a loadState.

-- Don

Tim Newsham
http://www.thenewsh.com/~newsham/
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to