 <p>Because the connection <em>is</em> established. Calling accept() isn't a pre-requisite for that. The system accepts incoming connections and enqueues them to the backlog queue. Calling accept() just removes an item from the queue, blocking while it is empty.</p>