~kris/9p

9hist

95ff76f4dfbb6518819f59a84567819dbdd5b3bd — David du Colombier 28 years ago 150927e
Plan 9 from Bell Labs 1997-10-03
2 files changed, 11 insertions(+), 6 deletions(-)

M ip/il.c
M pc/trap.c
M ip/il.c => ip/il.c +5 -3
@@ 1015,7 1015,9 @@ loop:
				break;
			}
			if(ic->timeout >= ic->fasttime) {
				ilrexmit(ic);
				ilsendctl(p, nil, Ilquery, ic->next, ic->recvd, ilnextqt(ic));
				ic->querytime = Querytime;
				ic->timeout = 0;
				ilbackoff(ic);
			}
			if(ic->timeout >= ic->slowtime) {


@@ 1109,8 1111,8 @@ iltimers(Ilcb *ic)
	int pt;

	ic->timeout = 0;
	pt = (ic->delay>>LogAGain) + ic->unackedbytes/(ic->rate>>LogAGain) + ic->mdev;
	ic->fasttime = Acktime + pt + Iltickms - 1;
	pt = (ic->delay>>LogAGain) + ic->unackedbytes/(ic->rate>>LogAGain) + (ic->mdev>>(LogDGain-1));
	ic->fasttime = pt + Iltickms - 1;
	if(ic->fasttime > Fasttime)
		ic->fasttime = Fasttime;
	ic->slowtime = (Slowtime/Seconds)*pt;

M pc/trap.c => pc/trap.c +6 -3
@@ 492,10 492,13 @@ noted(Ureg* ureg, ulong arg0)
	 * Check the segment selectors are all valid, otherwise
	 * a fault will be taken on attempting to return to the
	 * user process.
	 * Take care with the comparisons as different processor
	 * generations push segment descriptors in different ways.
	 */
	if(nureg->cs != UESEL || nureg->ss != UDSEL || nureg->ds != UDSEL
	  || nureg->es != UDSEL || nureg->fs != UDSEL || nureg->gs != UDSEL){
		pprint("bad segement selector in noted\n");
	if((nureg->cs & 0xFFFF) != UESEL || (nureg->ss & 0xFFFF) != UDSEL
	  || (nureg->ds & 0xFFFF) != UDSEL || (nureg->es & 0xFFFF) != UDSEL
	  || (nureg->fs & 0xFFFF) != UDSEL || (nureg->gs & 0xFFFF) != UDSEL){
		pprint("bad segment selector in noted\n");
		qunlock(&up->debug);
		pexit("Suicide", 0);
	}