[Added test. Modified createLockFile. nad**20040826180324] { hunk ./NAD/LockFile.hs 6 + , createAndLock hunk ./NAD/LockFile.hs 17 +import System.Random hunk ./NAD/LockFile.hs 54 +-- * Group write permission. + +-- Using mandatory file locking does not seem to work on our Solaris +-- system. The files cannot even be opened... hunk ./NAD/LockFile.hs 65 - setFileMode file (setGroupIDMode `unionFileModes` ownerWriteMode) + setFileMode file (ownerWriteMode `unionFileModes` groupWriteMode) + -- setFileMode file (setGroupIDMode `unionFileModes` ownerWriteMode) + +-- | @'createAndLock' file comp@ first does a 'createLockFile' and +-- then a 'lockLockFile'. + +createAndLock :: FilePath -> IO a -> IO a +createAndLock file comp = do + createLockFile file + lockLockFile file comp hunk ./NAD/LockFile.hs 112 + +main2 = do + n <- randomRIO (0,100) :: IO Int + createAndLock "apa.lock" $ do + putStrLn $ "Got lock: " ++ show n + sleep 1 + putStrLn $ "Releasing lock: " ++ show n }