Merge changes I4d0b27ba,Ic48e9cf2 into main

* changes:
  Fix soong_ui file rlimits for go 1.21
  Fix TestReverseSlice for go 1.21
This commit is contained in:
Colin Cross
2023-11-09 18:47:40 +00:00
committed by Gerrit Code Review
2 changed files with 6 additions and 4 deletions

View File

@@ -811,7 +811,7 @@ func TestReverseSlice(t *testing.T) {
if !reflect.DeepEqual(slice, testCase.expected) { if !reflect.DeepEqual(slice, testCase.expected) {
t.Errorf("expected %#v, got %#v", testCase.expected, slice) t.Errorf("expected %#v, got %#v", testCase.expected, slice)
} }
if slice != nil && unsafe.SliceData(testCase.in) == unsafe.SliceData(slice) { if cap(slice) > 0 && unsafe.SliceData(testCase.in) == unsafe.SliceData(slice) {
t.Errorf("expected slices to have different backing arrays") t.Errorf("expected slices to have different backing arrays")
} }
}) })

View File

@@ -692,9 +692,11 @@ func setMaxFiles(ctx build.Context) {
} }
ctx.Verbosef("Current file limits: %d soft, %d hard", limits.Cur, limits.Max) ctx.Verbosef("Current file limits: %d soft, %d hard", limits.Cur, limits.Max)
if limits.Cur == limits.Max {
return // Go 1.21 modifies the file limit but restores the original when
} // execing subprocesses if it hasn't be overridden. Call Setrlimit
// here even if it doesn't appear to be necessary so that the
// syscall package considers it set.
limits.Cur = limits.Max limits.Cur = limits.Max
err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &limits) err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &limits)