Thanks for the pointers. I will take a look.<br><br>Kenny<br><br><div class="gmail_quote">On Thu, Aug 27, 2009 at 2:20 AM, Ross Mellgren <span dir="ltr">&lt;<a href="mailto:rmm-haskell@z.odi.ac">rmm-haskell@z.odi.ac</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">I don&#39;t think getNameInfo should work for for AF_UNIX -- the name given to SockAddrUnix is a file path, there is no name resolution. From the man page for getnameinfo(3) on OS X:<br>

<br>
NAME<br>
   getnameinfo -- socket address structure to hostname and service name<br>
<br>
...<br>
<br>
DESCRIPTION<br>
<br>
...<br>
<br>
   The sockaddr structure sa should point to either a sockaddr_in or sockaddr_in6 structure<br>
(for IPv4 or IPv6 respectively) that is salen bytes long.<br>
<br>
<br>
<br>
Similarly, from the man page for getnameinfo on my linux box:<br>
<br>
...<br>
<br>
The sa argument is a pointer to a generic socket address structure (of type sockaddr_in or sockaddr_in6) of size salen that holds the input IP address and port number.<br>
<br>
-Ross<br>
On Aug 26, 2009, at 2:07 PM, Johan Tibell wrote:<br>
<br>
</div><div><div></div><div class="h5"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Wed, Aug 26, 2009 at 6:33 PM, kenny lu&lt;<a href="mailto:haskellmail@gmail.com" target="_blank">haskellmail@gmail.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
<br>
I encountered a problem with Network.Socket in MacOS 10.5<br>
Here is the code that I am testing,<br>
<br>
-----------------------------------------<br>
-----------------------------------------<br>
module Main where<br>
<br>
import qualified Network.Socket as Socket<br>
<br>
main :: IO ()<br>
main =<br>
    do { (hostname, _) &lt;- Socket.getNameInfo [] True False<br>
(Socket.SockAddrUnix &quot;localhost&quot;)<br>
       -- (hostname, _) &lt;- Socket.getNameInfo [] True False<br>
(Socket.SockAddrInet 9000  (127 + 0 * 256 + 0 * 256^2 + 1 * 256^3))<br>
       ; putStrLn (show hostname)<br>
       }<br>
<br>
<br>
Running the above code yields the following error<br>
ghc --make -O2 TestSocket.hs<br>
[1 of 1] Compiling Main             ( TestSocket.hs, TestSocket.o )<br>
Linking TestSocket ...<br>
$ ./TestSocket<br>
TestSocket: getNameInfo: does not exist (ai_family not supported)<br>
<br>
If I switch to SockAddrInet instead, the error is gone.<br>
<br>
I am using GHC 6.10.3 and Network 2.2.1<br>
</blockquote>
<br>
Is SockAddrUnix supposed to work on Mac OS X? Could you test it by<br>
e.g. writing a small C program that uses it?<br>
<br>
-- Johan<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</blockquote>
<br>
</div></div></blockquote></div><br>