Ticket #3 (closed defect: fixed)
Cannot call connect with a socket that is already bound.
| Reported by: | igloo | Owned by: | |
|---|---|---|---|
| Priority: | critical | Milestone: | |
| Component: | network | Version: | |
| Keywords: | Cc: |
Description
Originally reported here: http://hackage.haskell.org/trac/ghc/ticket/2784
> import Network.Socket > sock <- socket AF_INET Datagram 0 Loading package parsec-2.1.0.1 ... linking ... done. Loading package network-2.2.0.1 ... linking ... done. > bindSocket sock (SockAddrInet aNY_PORT iNADDR_ANY) > connect sock undefined *** Exception: user error (connect: can't peform connect on socket in status Bound)
Network.Socket.connect checks the SocketStatus of the socket:
if currentStatus /= NotConnected
From The Open Group Base Specifications Issue 6: "If the socket has not already been bound to a local address, connect() shall bind it to an address which, unless the socket's address family is AF_UNIX, is an unused local address."
Change History
Note: See
TracTickets for help on using
tickets.
