[GHC] #1699: Fix network wrt abstract unix sockets
GHC
trac at galois.com
Fri Dec 28 18:11:52 EST 2007
#1699: Fix network wrt abstract unix sockets
---------------------------------------+------------------------------------
Reporter: kolmodin at dtek.chalmers.se | Owner:
Type: proposal | Status: new
Priority: normal | Milestone: Not GHC
Component: libraries/network | Version: 6.6.1
Severity: normal | Resolution:
Keywords: | Difficulty: Unknown
Testcase: | Architecture: Multiple
Os: Linux |
---------------------------------------+------------------------------------
Comment (by kolmodin):
The first patch, attachment:"network_aus.dpatch", included both switching
the use of CInt into CSockLen, and the abstract namespace features, I'm
not sure it applies any more.
attachment:"network_csocklen_cleanup.dpatch" has only the CInt to CSockLen
changes and should apply to the current darcs repo.
The AUS extention will follow in a third patch, once we've decided how we
want it structured.
The issue is that it looks and behaves very similar to
UnixSocket/SockAddrUnix, but only works under the linux platform, not all
Unix.
To use abstract unix sockets in C you do as usual with the unix socket,
but let the address have a leading zero instead of a trailing zero, also
it's more picky about the CSockLen as there is no other way to indicate
the length of the path.
This is also what the first patch reflects, it uses UnixSocket and expects
you to prefix your address with byte zero.
Is this what we want? Currently I'm more leaning towards adding a new
constructor, UnixAbstractSocket/SockAddrAbstUnix, which only would be
visible on linux system where the linux kernel feature actually exists.
Thus client code using it would require preprocessing to use the
constructor when only when adequate. This would make code using this
feature on other platforms simply not compile.
Good / bad? Let me know.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1699#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list