~kris/9p

9hist

6c6a562a55aac04c6b8b86b1231996da4c0cac20 — David du Colombier 28 years ago 0cbfcbc
Plan 9 from Bell Labs 1998-06-03
4 files changed, 17 insertions(+), 2 deletions(-)

M pc/l.s
M port/devaudio.c
M port/proc.c
M port/taslock.c
M pc/l.s => pc/l.s +1 -1
@@ 504,7 504,7 @@ TEXT setlabel(SB), $0
/*
 * Interrupt/exception handling.
 * Each entry in the vector table calls either _strayintr or _strayintrx depending
 * on whether an error code has beemn automatically pushed onto the stack
 * on whether an error code has been automatically pushed onto the stack
 * (_strayintrx) or not, in which case a dummy entry must be pushed before retrieving
 * the trap type from the vector table entry and placing it on the stack as part
 * of the Ureg structure.

M port/devaudio.c => port/devaudio.c +12 -0
@@ 879,6 879,18 @@ audioclose(Chan *c)
	case Qaudio:
		if(c->flag & COPEN) {
			qlock(&audio);
			if (audio.amode == Awrite) {
				/* flush out last partial buffer */
				Buf *b = audio.filling;
				if (b) {
					audio.filling = 0;
					memset(b->virt, 0, Bufsize-audio.curcount);
					swab(b->virt);
					putbuf(&audio.full, b);
				}
				if (!audio.active && audio.full.first)
					pokeaudio();
			}
			audio.amode = Aclosed;
			if(waserror()){
				qunlock(&audio);

M port/proc.c => port/proc.c +1 -1
@@ 266,7 266,7 @@ found:

	p->state = Scheding;
	if(p->mp != MACHP(m->machno))
		p->movetime = m->ticks + HZ/2;
		p->movetime = m->ticks + HZ/10;
	p->mp = MACHP(m->machno);
	return p;
}

M port/taslock.c => port/taslock.c +3 -0
@@ 111,6 111,9 @@ iunlock(Lock *l)
{
	ulong sr;

	if(l->key == 0)
		print("iunlock: not locked: pc %uX\n", getcallerpc(l));

	sr = l->sr;
	l->pc = 0;
	l->key = 0;