On 19 April 2005 06:30, Johannes Waldmann wrote:

> Thanks for the comments. Indeed I knew the solution -
> once I isolated the problem.
> 
> Note that ghc(i) behaves differently when running main2 below
> (it says "file is locked"). (hugs does not complain.)
> 
> import System
> 
> main1 = do
>      system "echo A > foo"
>      a <- readFile "foo"
>      system "echo B > foo"
>      b <- readFile "foo"
>      print (a == b)
> 
> main2 = do
>      writeFile "foo" "A"
>      a <- readFile "foo"
>      writeFile "foo" "B"
>      b <- readFile "foo"
>      print (a == b)

GHC is correct to complain about main2, FWIW.  The Haskell report
specifies single-writer/multiple-reader locking on files.

Cheers,
        Simon
_______________________________________________
Haskell mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to