Re: Are simultaneous TCP opens useful?


minshall%opal.Berkeley.EDU@jade.berkeley.edu
Wed, 02 Sep 87 08:39:47 PDT


Eric,
        Whether "simultaneous" opens will always succeed or randomly
fail depends on how the underlying TCP service is implemented. If
the user code needs to look like this:
        {
            if (connect() == FAIL) {
                listen();
            }
        }
        then there is a race condition in which both sides may hang
in listen(). Side A fails to connect, but before A issues listen, side
B tries to connect and fails.

        However, if the underlying TCP service allows this:
        {
            connect_or_listen();
        }
        as a primitive, then the simultaneous case seems to me to be
guaranteed to win. Note that I don't know of any underlying services
that allow the second form.

Greg Minshall



This archive was generated by hypermail 2.0b3 on Thu Mar 09 2000 - 14:39:14 GMT