revert-rx-deal-with-missed-keepalives-by-accurately-tracking-call-number-20020120
authorDerrick Brashear <shadow@dementia.org>
Sun, 20 Jan 2002 05:42:28 +0000 (05:42 +0000)
committerDerrick Brashear <shadow@dementia.org>
Sun, 20 Jan 2002 05:42:28 +0000 (05:42 +0000)
causes problems at minimum for linux

src/rx/rx_packet.c

index c2ecbc5..8b7051e 100644 (file)
@@ -1772,6 +1772,10 @@ rxi_SendSpecial(call, conn, optionalPacket, type, data, nbytes, istack)
     if (call) {
        channel = call->channel;
        callNumber = *call->callNumber;
+       /* BUSY packets refer to the next call on this connection */
+       if (type == RX_PACKET_TYPE_BUSY) {
+           callNumber++;
+       }
     } else {
        channel = 0;
        callNumber = 0;
@@ -1780,12 +1784,6 @@ rxi_SendSpecial(call, conn, optionalPacket, type, data, nbytes, istack)
     if (!p) {
        p = rxi_AllocPacket(RX_PACKET_CLASS_SPECIAL);
        if (!p) osi_Panic("rxi_SendSpecial failure");
-    } else if (type == RX_PACKET_TYPE_BUSY) {
-       /* BUSY packets refer to some subsequent call on this connection
-        * and we need to match the callNumber used by the other side. */
-       if (p->header.callNumber > callNumber) {
-           callNumber = p->header.callNumber;
-       }
     }
 
     if (nbytes != -1)