From: qrczak Date: Fri, 12 Jan 2001 17:45:30 +0000 (+0000) Subject: [project @ 2001-01-12 17:45:30 by qrczak] X-Git-Tag: Approximately_9120_patches~2923 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=99d658e8ddba3b2f888a876ca9b06d4062cb6bd9;p=ghc-hetmet.git [project @ 2001-01-12 17:45:30 by qrczak] Add resetErrno :: IO () Use it in Directory, before calling readdir. --- diff --git a/ghc/lib/std/Directory.hsc b/ghc/lib/std/Directory.hsc index 67f959f..2672fea 100644 --- a/ghc/lib/std/Directory.hsc +++ b/ghc/lib/std/Directory.hsc @@ -1,5 +1,5 @@ -- ----------------------------------------------------------------------------- --- $Id: Directory.hsc,v 1.2 2001/01/12 15:48:56 simonmar Exp $ +-- $Id: Directory.hsc,v 1.3 2001/01/12 17:45:30 qrczak Exp $ -- -- (c) The University of Glasgow, 1994-2000 -- @@ -345,6 +345,7 @@ getDirectoryContents path = do where loop :: Ptr CDir -> IO [String] loop dir = do + resetErrno p <- readdir dir if (p /= nullPtr) then do entry <- peekCString ((#ptr struct dirent,d_name) p) diff --git a/ghc/lib/std/PrelCError.lhs b/ghc/lib/std/PrelCError.lhs index 8455321..757f43b 100644 --- a/ghc/lib/std/PrelCError.lhs +++ b/ghc/lib/std/PrelCError.lhs @@ -1,5 +1,5 @@ % ----------------------------------------------------------------------------- -% $Id: PrelCError.lhs,v 1.1 2001/01/11 17:25:57 simonmar Exp $ +% $Id: PrelCError.lhs,v 1.2 2001/01/12 17:45:30 qrczak Exp $ % % (c) The FFI task force, 2000 % @@ -39,6 +39,7 @@ module PrelCError ( -- access to the current thread's "errno" value -- getErrno, -- :: IO Errno + resetErrno, -- :: IO () -- conversion of an "errno" value into IO error -- @@ -281,6 +282,12 @@ getErrno :: IO Errno getErrno = liftM Errno (peek _errno) +-- set the current thread's "errno" value to 0 +-- +resetErrno :: IO () +resetErrno = poke _errno 0 + + -- throw current "errno" value -- ---------------------------