| plan 9 kernel history: overview | file list | diff list |
1991/0608/port/devnonet.c (diff list | history)
| 1991/0606/sys/src/9/port/devnonet.c:912,918 – 1991/0608/sys/src/9/port/devnonet.c:912,917 (short | long | prev | next) | ||
| 1991/0119 | case Cconnected: case Cconnecting: | |
| 1991/0328 | case Chungup: | |
| 1991/0119 | cp->state = Creset; | |
| 1991/0328 | cp->rcvcircuit = -1; bp = allocb(0); | |
| 1991/0606/sys/src/9/port/devnonet.c:1162,1168 – 1991/0608/sys/src/9/port/devnonet.c:1161,1167 | ||
| 1991/0328 | * Obey reset even if the message id is bogus | |
| 1990/1210 | */ | |
| 1991/0328 | if(f & NO_RESET){ | |
| 1991/0608 | DPRINT("reset received\n"); | |
| 1991/0119 | noreset(cp); | |
| 1991/0328 | freeb(bp); | |
| 1990/1210 | return; | |
| 1991/0606/sys/src/9/port/devnonet.c:1181,1190 – 1991/0608/sys/src/9/port/devnonet.c:1180,1191 | ||
| 1991/0328 | case Copen: case Cannounced: case Creset: | |
| 1991/0608 | DPRINT("nonetrcvmsg %d %d\n", cp->rcvcircuit, cp - cp->ifc->conv); freeb(bp); return; | |
| 1991/0328 | case Chungup: case Cconnected: | |
| 1991/0608 | DPRINT("Nonet call on connected/hanging-up circ %d conv %d\n", | |
| 1991/0328 | cp->rcvcircuit, cp - cp->ifc->conv); freeb(bp); noreset(cp); | |
| 1991/0606/sys/src/9/port/devnonet.c:1191,1197 – 1991/0608/sys/src/9/port/devnonet.c:1192,1198 | ||
| 1991/0328 | return; case Cconnecting: if(h->mid != mp->mid){ | |
| 1991/0608 | DPRINT("Nonet call on connecting circ %d conv %d\n", | |
| 1991/0328 | cp->rcvcircuit, cp - cp->ifc->conv); freeb(bp); noreset(cp); | |
| 1991/0606/sys/src/9/port/devnonet.c:1266,1271 – 1991/0608/sys/src/9/port/devnonet.c:1267,1273 | ||
| 1990/1210 | if(mp->rem == 0){ | |
| 1991/0119 | cp->hdr->flag &= ~(NO_NEWCALL|NO_SERVICE); norack(cp, h->ack); | |
| 1991/0608 | noqack(cp, h->mid); | |
| 1990/1210 | if(f & NO_ACKME) | |
| 1991/0119 | noqack(cp, h->mid); | |
| 1990/1210 | mp->last->flags |= S_DELIM; | |
| 1991/0606/sys/src/9/port/devnonet.c:1457,1466 – 1991/0608/sys/src/9/port/devnonet.c:1459,1468 | ||
| 1991/01151 | */ | |
| 1991/0118 | if(cp->first!=cp->next && NOW>=cp->out[cp->first].time){ | |
| 1991/0206 | mp = &(cp->out[cp->first]); | |
| 1991/0604 |
| |
| 1991/0608 | if(cp->rexmit++ > 15){ | |
| 1991/0206 | norack(cp, mp->mid); | |
| 1991/0209 | noreset(cp); | |
| 1991/0604 |
| |
| 1991/0608 | } else | |
| 1991/0119 | nosend(cp, mp); | |
| 1991/01151 | } | |
| 1991/0606/sys/src/9/port/devnonet.c:1469,1475 – 1991/0608/sys/src/9/port/devnonet.c:1471,1477 | ||
| 1991/01151 | */ | |
| 1991/0207 | while(cp->afirst!=cp->anext && cp->rq->next->len<16*1024){ | |
| 1991/0108 | DPRINT("sending ack %d\n", cp->ack[cp->afirst]); | |
| 1991/0606 |
| |
| 1991/0608 | nosendctl(cp, /*NO_NULL*/0, 0); | |
| 1991/0108 | } qunlock(cp); } | |