On Wed, Jun 24, 2009 at 8:16 PM, Brandon S. Allbery KF8NH <allbery@ece.cmu.edu> wrote:
The BSD socket protocol is explicitly driven by a state machine, btw, but it's a fairly complex one. Also, it's generally described in terms of the kernel's view, which includes states you normally can't distinguish in a user program (for example, a socket in TIME_WAIT keeps its port unavailable unless you use SO_REUSEADDR, but is otherwise indistinguishable from a socket which has been close()d and reaped).