1145 |
|
if (top == s && array == a && |
1146 |
|
casAt(a, i, t, null)) { |
1147 |
|
U.putOrderedInt(this, QTOP, s - 1); |
1148 |
< |
U.putOrderedInt(this, QLOCK, 0); |
1148 |
> |
qlock = 0; // until next line diagnosed |
1149 |
> |
// U.putOrderedInt(this, QLOCK, 0); |
1150 |
|
return t; |
1151 |
|
} |
1152 |
|
U.compareAndSwapInt(this, QLOCK, 1, 0); |
2413 |
|
if ((n = s - b) < am) { |
2414 |
|
setAt(a, j, task); |
2415 |
|
U.putOrderedInt(q, QTOP, s + 1); |
2416 |
< |
U.putOrderedInt(q, QLOCK, 0); |
2416 |
> |
q.qlock = 0; // fix until next line diagnosed |
2417 |
> |
// U.putOrderedInt(q, QLOCK, 0); |
2418 |
|
if (n <= 1) |
2419 |
|
signalWork(ws, q); |
2420 |
|
return; |
2470 |
|
int i = (al - 1) & (s - 1); |
2471 |
|
if (w.top == s && w.array == a && casAt(a, i, task, null)) { |
2472 |
|
U.putOrderedInt(w, QTOP, s - 1); |
2473 |
< |
U.putOrderedInt(w, QLOCK, 0); |
2473 |
> |
w.qlock = 0; // fix until next line diagnosed |
2474 |
> |
// U.putOrderedInt(w, QLOCK, 0); |
2475 |
|
return true; |
2476 |
|
} |
2477 |
|
U.compareAndSwapInt(w, QLOCK, 1, 0); |