diff --git a/src/runtime/select.go b/src/runtime/select.go index 2dd541b530..efe0ec8542 100644 --- a/src/runtime/select.go +++ b/src/runtime/select.go @@ -244,13 +244,9 @@ func selectgoImpl(sel *hselect) (uintptr, uint16) { pollslice := slice{unsafe.Pointer(sel.pollorder), int(sel.ncase), int(sel.ncase)} pollorder := *(*[]uint16)(unsafe.Pointer(&pollslice)) for i := 0; i < int(sel.ncase); i++ { - pollorder[i] = uint16(i) - } - for i := 1; i < int(sel.ncase); i++ { - o := pollorder[i] j := int(fastrand1()) % (i + 1) pollorder[i] = pollorder[j] - pollorder[j] = o + pollorder[j] = uint16(i) } // sort the cases by Hchan address to get the locking order.