[commit: unix] encoding: Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/packages/unix into encoding (e6fe0c5)
Max Bolingbroke
batterseapower at hotmail.com
Sat Nov 19 12:24:11 CET 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/unix
On branch : encoding
http://hackage.haskell.org/trac/ghc/changeset/e6fe0c542c801ffd299ffa082ad7fe6a51313564
>---------------------------------------------------------------
commit e6fe0c542c801ffd299ffa082ad7fe6a51313564
Merge: 9bfa839... b7b180d...
Author: Max Bolingbroke <batterseapower at hotmail.com>
Date: Fri May 13 16:05:17 2011 +0100
Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/packages/unix into encoding
Conflicts:
System/Posix/Directory.hsc
System/Posix/Directory.hsc | 10 ++++++----
System/Posix/Error.hs | 7 ++++++-
2 files changed, 12 insertions(+), 5 deletions(-)
diff --cc System/Posix/Directory.hsc
index 97728db,cb357df..7f64e16
--- a/System/Posix/Directory.hsc
+++ b/System/Posix/Directory.hsc
@@@ -59,8 -45,10 +59,10 @@@ peekFilePath = peekCStrin
-- @mode at .
createDirectory :: FilePath -> FileMode -> IO ()
createDirectory name mode =
- withCString name $ \s ->
- throwErrnoPathIfMinus1Retry_ "createDirectory" name (c_mkdir s mode)
+ withFilePath name $ \s ->
- throwErrnoPathIfMinus1_ "createDirectory" name (c_mkdir s mode)
++ throwErrnoPathIfMinus1Retry_ "createDirectory" name (c_mkdir s mode)
+ -- POSIX doesn't allow mkdir() to return EINTR, but it does on
+ -- OS X (#5184), so we need the Retry variant here.
foreign import ccall unsafe "mkdir"
c_mkdir :: CString -> CMode -> IO CInt
@@@ -71,8 -59,8 +73,8 @@@ newtype DirStream = DirStream (Ptr CDir
-- directory stream for @dir at .
openDirStream :: FilePath -> IO DirStream
openDirStream name =
- withCString name $ \s -> do
+ withFilePath name $ \s -> do
- dirp <- throwErrnoPathIfNull "openDirStream" name $ c_opendir s
+ dirp <- throwErrnoPathIfNullRetry "openDirStream" name $ c_opendir s
return (DirStream dirp)
foreign import ccall unsafe "__hsunix_opendir"
More information about the Cvs-libraries
mailing list