Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/packages/unix into encoding encoding
authorMax Bolingbroke <batterseapower@hotmail.com>
Fri, 13 May 2011 15:05:17 +0000 (16:05 +0100)
committerMax Bolingbroke <batterseapower@hotmail.com>
Fri, 13 May 2011 15:05:17 +0000 (16:05 +0100)
Conflicts:
System/Posix/Directory.hsc

1  2 
System/Posix/Directory.hsc

@@@ -59,8 -45,10 +59,10 @@@ peekFilePath = peekCStrin
  --  @mode@.
  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@.
  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"