#5184: createDirectory does not retry on EINTR (interrupted)
------------------------------------------+---------------------------------
Reporter: CoreyOConnor | Owner: simonmar
Type: bug | Status: closed
Priority: high | Milestone: 7.2.1
Component: libraries/unix | Version: 7.0.3
Resolution: fixed | Keywords:
Testcase: | Blockedby:
Difficulty: | Os: MacOS X
Blocking: | Architecture: x86
Failure: Incorrect result at runtime |
------------------------------------------+---------------------------------
Comment(by CoreyOConnor):
I think there is a deeper issue here and the EINTR error might just be a
red herring.
I still cannot create directories with "createDirectoryIfMissing True" as
expected. I'm going to leave my comments attached to this bug for now.
In my application I call:
{{{
createDirectoryIfMissing True "/home/coconnor/Development/dev-
system/dist/build"
}}}
on a system where "/home/coconnor/Development/dev-system/dist" already
exists. Instead of creating the "build' directory under "dist" as expected
the application fails with:
{{{
dev: /home/coconnor: createDirectory: failed (Operation not supported)
}}}
It does not make sense that "createDirectory" would ever be called with an
existing directory by "createDirectoryIfMissing".
I'm not sure how this can occur. If there was a bug in getFileStatus or
isDirectory then this could occur.
The only thing I can think of has a weak argument.
The stat structure on OS X comes in two varieties. The define
_DARWIN_FEATURE_64_BIT_INODE is used to select between the two varieties.
If the fstat call used at runtime expects a different stat structure than
System/Posix/Files.hsc is compiled against then getFileStatus can succeed
but the status would be junk.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5184#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs