[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
}