From d7d2d5eb0862f874eee55ba02d13dc686b97d845 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Mon, 2 Jul 1990 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1990-07-02 --- gnot/devcons.c | 2 -- gnot/stream.c | 8 +++++--- gnot/sturp.c | 2 +- port/stream.c | 1 + port/sturp.c | 14 +++++++++++++- 5 files changed, 20 insertions(+), 7 deletions(-) diff --git a/gnot/devcons.c b/gnot/devcons.c index a9135ecb760cbbd773a2adf551cdb183b8133b32..cc07eaf93bed518a742e0fbf03498edf812c44d1 100644 --- a/gnot/devcons.c +++ b/gnot/devcons.c @@ -203,8 +203,6 @@ echo(int c) if(c == 0x14) DEBUG(); if(c == 0x16){ - incontoggle(); - urpdump(); dumpqueues(); } if(raw.ref) diff --git a/gnot/stream.c b/gnot/stream.c index 16ddce2349703f3d938511bb5ec88292e632f8ea..11afe3d19759d165e5afadf4f152897cfca860c0 100644 --- a/gnot/stream.c +++ b/gnot/stream.c @@ -78,11 +78,12 @@ dumpqueues(void) continue; for(count = 0, bp = q->first; bp; bp = bp->next) count++; - print("%s %ux R c %d l %d f %ux", q->info->name, q, count, - q->len, q->flag); + print("%s %ux R c %d l %d f %ux r %ux", q->info->name, q, count, + q->len, q->flag, &(q->r)); for(count = 0, bp = WR(q)->first; bp; bp = bp->next) count++; - print(" W c %d l %d f %ux\n", count, WR(q)->len, WR(q)->flag); + print(" W c %d l %d f %ux r %ux\n", count, WR(q)->len, WR(q)->flag, + &(WR(q)->r)); } print("\n"); for(bcp=bclass; bcp<&bclass[Nclass]; bcp++){ @@ -246,6 +247,7 @@ allocq(Qinfo *qi) q->len = q->nb = 0; wq = q->other = q + 1; + wq->flag = QINUSE; wq->r.p = 0; wq->info = qi; wq->put = qi->oput; diff --git a/gnot/sturp.c b/gnot/sturp.c index 7d6ba5833e704e9c03cfcc3b89aa2c6a9a200383..a89c8b4ff789513caee3b3b6fa2d94d4a41f6f86 100644 --- a/gnot/sturp.c +++ b/gnot/sturp.c @@ -958,7 +958,7 @@ urpvomit(char *msg, Urp* up) print("\tiseq: %uo lastecho: %uo trx: %d trbuf: %uo %uo %uo\n", up->iseq, up->lastecho, up->trx, up->trbuf[0], up->trbuf[1], up->trbuf[2]); - print("\tupq: %ux %d %d\n", up->rq->next->first, up->rq->next->nb, + print("\tupq: %ux %d %d\n", &up->rq->next->r, up->rq->next->nb, up->rq->next->len); } diff --git a/port/stream.c b/port/stream.c index 16ddce2349703f3d938511bb5ec88292e632f8ea..f1041a60badfee8cc80013b7ff9e3da57ef70e5f 100644 --- a/port/stream.c +++ b/port/stream.c @@ -246,6 +246,7 @@ allocq(Qinfo *qi) q->len = q->nb = 0; wq = q->other = q + 1; + wq->flag = QINUSE; wq->r.p = 0; wq->info = qi; wq->put = qi->oput; diff --git a/port/sturp.c b/port/sturp.c index 7d6ba5833e704e9c03cfcc3b89aa2c6a9a200383..7c41aa12402075e64e61611382402f843c06a594 100644 --- a/port/sturp.c +++ b/port/sturp.c @@ -950,6 +950,9 @@ urpkproc(void *arg) static void urpvomit(char *msg, Urp* up) { + Block *bp; + uchar *cp; + print("urpvomit: %s %ux next %d unechoed %d unacked %d nxb %d\n", msg, up, up->next, up->unechoed, up->unacked, up->nxb); print("\txb: %ux %ux %ux %ux %ux %ux %ux %ux\n", @@ -958,8 +961,17 @@ urpvomit(char *msg, Urp* up) print("\tiseq: %uo lastecho: %uo trx: %d trbuf: %uo %uo %uo\n", up->iseq, up->lastecho, up->trx, up->trbuf[0], up->trbuf[1], up->trbuf[2]); - print("\tupq: %ux %d %d\n", up->rq->next->first, up->rq->next->nb, + print("\tupq: %ux %d %d\n", &up->rq->next->r, up->rq->next->nb, up->rq->next->len); + lock(up->rq->next); + for(bp = up->rq->next->first; bp; bp = bp->next){ + print("%d%c:\t", bp->wptr - bp->rptr, (bp->flags&S_DELIM)?'D':' '); + + for(cp = bp->rptr; cpwptr && cprptr+10; cp++) + print(" %uo", *cp); + print("\n"); + } + unlock(up->rq->next); } int