fromIntegral (I# (indexIntArray# frozen# 2#)) * 1000000000 +
fromIntegral (I# (indexIntArray# frozen# 3#))) * 1000)
else
- fail (IOError Nothing UnsupportedOperation
- "getCPUTime: can't get CPU time")
+ fail (IOError Nothing UnsupportedOperation "getCPUTime"
+ "can't get CPU time")
cpuTimePrecision :: Integer
cpuTimePrecision = round ((1000000000000::Integer) %
import PrelST
import PrelArr
import PrelPack ( unpackNBytesST )
-import PrelForeign ( Word(..) )
+import PrelCCall ( Word(..) )
import PrelAddr
import Time ( ClockTime(..) )
if rc == 0 then
return ()
else
- constructErrorAndFailWithInfo "renameDirectory" opath
+ constructErrorAndFailWithInfo "renameDirectory" ("old: " ++ opath ++ ",new: " ++ npath)
\end{code}
@renameFile old@ {\em new} changes the name of an existing file system
rc <- _ccall_ chmod name mode
if rc == 0
then return ()
- else fail (IOError Nothing SystemError "Directory.setPermissions")
+ else fail (IOError Nothing SystemError "setPermissions" "insufficient permissions")
\end{code}
rc <- _casm_ ``%r = stat(%0,(struct stat *)%1);'' name bytes
if rc == 0
then stToIO (unsafeFreezeByteArray bytes)
- else fail (IOError Nothing SystemError "Directory.getFileStatus")
+ else fail (IOError Nothing SystemError "getFileStatus" "")
modificationTime :: FileStatus -> IO ClockTime
modificationTime stat = do
litstring <- _ccall_ getenv name
if litstring /= ``NULL''
then return (unpackCString litstring)
- else fail (IOError Nothing NoSuchThing
+ else fail (IOError Nothing NoSuchThing "getEnv"
("environment variable: " ++ name))
\end{code}
\end{itemize}
\begin{code}
-system "" = fail (IOError Nothing InvalidArgument "null command")
+system "" = fail (IOError Nothing InvalidArgument "system" "null command")
system cmd = do
status <- _ccall_ systemCmd cmd
case status of
\begin{code}
exitWith ExitSuccess = do
_ccall_ EXIT (0::Int)
- fail (IOError Nothing OtherError "exit should not return")
+ fail (IOError Nothing OtherError "exitWith" "exit should not return")
exitWith (ExitFailure n)
- | n == 0 = fail (IOError Nothing InvalidArgument "ExitFailure 0")
+ | n == 0 = fail (IOError Nothing InvalidArgument "exitWith" "ExitFailure 0")
| otherwise = do
_ccall_ EXIT n
- fail (IOError Nothing OtherError "exit should not return")
+ fail (IOError Nothing OtherError "exitWith" "exit should not return")
\end{code}