Lines Matching refs:z
34 _vtrpc(VtConn *z, Packet *p, VtFcall *tx) in _vtrpc() argument
40 if(z == nil){ in _vtrpc()
49 qlock(&z->lk); in _vtrpc()
50 r->r.l = &z->lk; in _vtrpc()
51 tag = gettag(z, r); in _vtrpc()
72 qunlock(&z->lk); in _vtrpc()
73 if(vtsend(z, p) < 0){ in _vtrpc()
78 qlock(&z->lk); in _vtrpc()
81 z->nsleep++; in _vtrpc()
82 while(z->muxer && !r->done) in _vtrpc()
84 z->nsleep--; in _vtrpc()
89 if(z->muxer) in _vtrpc()
91 z->muxer = 1; in _vtrpc()
93 qunlock(&z->lk); in _vtrpc()
94 if((p = vtrecv(z)) == nil){ in _vtrpc()
96 z->muxer = 0; in _vtrpc()
100 qlock(&z->lk); in _vtrpc()
101 muxrpc(z, p); in _vtrpc()
103 z->muxer = 0; in _vtrpc()
105 if(z->nsleep) in _vtrpc()
107 rr = z->wait[i]; in _vtrpc()
116 puttag(z, r, tag); in _vtrpc()
118 qunlock(&z->lk); in _vtrpc()
123 vtrpc(VtConn *z, Packet *p) in vtrpc() argument
125 return _vtrpc(z, p, nil); in vtrpc()
129 gettag(VtConn *z, Rwait *r) in gettag() argument
134 while(z->ntag == 256) in gettag()
135 rsleep(&z->tagrend); in gettag()
137 if(z->wait[i] == 0){ in gettag()
138 z->ntag++; in gettag()
139 z->wait[i] = r; in gettag()
147 puttag(VtConn *z, Rwait *r, int tag) in puttag() argument
149 assert(z->wait[tag] == r); in puttag()
150 z->wait[tag] = nil; in puttag()
151 z->ntag--; in puttag()
152 rwakeup(&z->tagrend); in puttag()
156 muxrpc(VtConn *z, Packet *p) in muxrpc() argument
168 if((r = z->wait[tag]) == nil){ in muxrpc()