patch-2.1.16 linux/net/rose/rose_timer.c
Next file: linux/net/rose/sysctl_net_rose.c
Previous file: linux/net/rose/rose_out.c
Back to the patch index
Back to the overall index
- Lines: 29
- Date:
Sat Dec 14 13:40:34 1996
- Orig file:
v2.1.15/linux/net/rose/rose_timer.c
- Orig date:
Thu Dec 12 17:02:48 1996
diff -u --recursive --new-file v2.1.15/linux/net/rose/rose_timer.c linux/net/rose/rose_timer.c
@@ -104,7 +104,9 @@
*/
if (sk->rmem_alloc < (sk->rcvbuf / 2) && (sk->protinfo.rose->condition & OWN_RX_BUSY_CONDITION)) {
sk->protinfo.rose->condition &= ~OWN_RX_BUSY_CONDITION;
+ sk->protinfo.rose->condition &= ~ACK_PENDING_CONDITION;
sk->protinfo.rose->vl = sk->protinfo.rose->vr;
+ sk->protinfo.rose->timer = 0;
rose_write_internal(sk, ROSE_RR);
break;
}
@@ -124,10 +126,17 @@
}
/*
- * Timer has expired, it may have been T1, T2, or T3. We can tell
+ * Timer has expired, it may have been T1, T2, T3 or HB. We can tell
* by the socket state.
*/
switch (sk->protinfo.rose->state) {
+ case ROSE_STATE_3: /* HB */
+ if (sk->protinfo.rose->condition & ACK_PENDING_CONDITION) {
+ sk->protinfo.rose->condition &= ~ACK_PENDING_CONDITION;
+ rose_enquiry_response(sk);
+ }
+ break;
+
case ROSE_STATE_1: /* T1 */
case ROSE_STATE_4: /* T2 */
rose_write_internal(sk, ROSE_CLEAR_REQUEST);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov