int iobufql(QLock *q) { Iobuf *p, *s; Hiob *hp; Tag *t; int32_t h; int tag; for(h=0; h<nhiob; h++) { hp = &hiob[h]; lock(hp); s = hp->link; for(p=s;;) { if(qlmatch(q, p)) { t = (Tag*)(p->iobuf+BUFSIZE); tag = t->tag; if(tag < 0 || tag >= MAXTAG) tag = Tnone; print("\tIobuf %Z(%lld) t=%s\n", p->dev, (Wideoff)p->addr, tagnames[tag]); unlock(hp); return 1; } p = p->fore; if(p == s) break; } unlock(hp); } return 0; }
int iobufql(QLock *q) { Iobuf *p, *s; Hiob *hp; long h; for(h=0; h<nhiob; h++) { hp = &hiob[h]; lock(hp); s = hp->link; for(p=s;;) { if(qlmatch(q, p)) { unlock(hp); return 1; } p = p->fore; if(p == s) break; } unlock(hp); } return 0; }