Lines Matching refs:scases
40 func sellock(scases []scase, lockorder []uint16) {
43 c0 := scases[o].c
51 func selunlock(scases []scase, lockorder []uint16) {
60 for i := len(scases) - 1; i >= 0; i-- {
61 c := scases[lockorder[i]].c
65 if i > 0 && c == scases[lockorder[i-1]].c {
118 scases := cas1[:ncases:ncases]
124 for i := range scases {
125 cas := &scases[i]
135 scases[i].releasetime = -1
164 c := scases[pollorder[i]].c
165 for j > 0 && scases[lockorder[(j-1)/2]].c.sortkey() < c.sortkey() {
174 c := scases[o].c
182 if k+1 < i && scases[lockorder[k]].c.sortkey() < scases[lockorder[k+1]].c.sortkey() {
185 if c.sortkey() < scases[lockorder[k]].c.sortkey() {
197 if scases[lockorder[i]].c.sortkey() > scases[lockorder[i+1]].c.sortkey() {
205 sellock(scases, lockorder)
227 cas = &scases[casi]
265 selunlock(scases, lockorder)
279 cas = &scases[casi]
312 sellock(scases, lockorder)
334 k = &scases[casei]
382 selunlock(scases, lockorder)
398 selunlock(scases, lockorder)
409 selunlock(scases, lockorder)
414 recv(c, sg, cas.elem, func() { selunlock(scases, lockorder) }, 2)
423 selunlock(scases, lockorder)
435 send(c, sg, cas.elem, func() { selunlock(scases, lockorder) }, 2)
456 selunlock(scases, lockorder)