| Previous | Next |
| ENOBUFS | ENOTCONN |
EISCONN
The endpoint already has connection state
EISCONN is about socket state, not reachability. Solaris documents two important cases: another connect request is made on an already connected endpoint, or sendto()/sendmsg() supplies a destination for an endpoint whose connection already determines the peer.
This differs from EALREADY, where a nonblocking operation is still in progress, and from ENOTCONN, where a connection-required operation has no established peer. Checking the state transition and the exact API call is therefore more useful than testing routers or firewall policy.
What to inspect in socket code
- Trace socket creation, every successful or pending
connect(), and any descriptor reuse after connection pooling. - For datagram or message sends, verify whether the application intentionally connected the socket; a connected socket can use send-style operations without specifying a destination each time.
- In multithreaded code, establish which thread changed the socket state before the failing call.
References
- Oracle Solaris intro(2) errno catalog
- POSIX connect() error conditions
- POSIX sendto() destination and connection semantics
Looking for a different code? Search another status or error code.