> This may be related to the answer just given to do with
> finalizing the
> Handles, as I have a
> problem with sockets hanging around after a host name resolution has
> failed (using the simple socket
> library). Having looked at the code I would like to suggest the
> following change:
>
> connectTo hostname (PortNumber port) = do
> proto <- getProtocolNumber "tcp"
> sock <- socket AF_INET Stream proto
> he <- getHostByName hostname
> connect sock (SockAddrInet port (hostAddress he))
> socketToHandle sock ReadWriteMode
>
> Should become:
>
> connectTo hostname (PortNumber port) = do
> proto <- getProtocolNumber "tcp"
> sock <- socket AF_INET Stream proto
> (do
> he <- getHostByName hostname
> connect sock (SockAddrInet port (hostAddress he))
> socketToHandle sock ReadWriteMode) `Exception.catch`
> (\e -> do
> sClose sock;throw e)
>
> Is this a sensible change to make?
Yes, well spotted. I'll add the exception handler.
Cheers,
Simon
_______________________________________________
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users