Loading cmd/soong_ui/main.go +22 −8 Original line number Original line Diff line number Diff line Loading @@ -205,14 +205,7 @@ func main() { buildCtx.Verbosef("Parallelism (local/remote/highmem): %v/%v/%v", buildCtx.Verbosef("Parallelism (local/remote/highmem): %v/%v/%v", config.Parallel(), config.RemoteParallel(), config.HighmemParallel()) config.Parallel(), config.RemoteParallel(), config.HighmemParallel()) { setMaxFiles(buildCtx) var limits syscall.Rlimit err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &limits) if err != nil { buildCtx.Verbosef("Failed to get file limit:", err) } buildCtx.Verbosef("Current file limits: %d soft, %d hard", limits.Cur, limits.Max) } { { // The order of the function calls is important. The last defer function call // The order of the function calls is important. The last defer function call Loading Loading @@ -614,3 +607,24 @@ func populateExternalDistDirHelper(ctx build.Context, config build.Config, inter } } } } } } func setMaxFiles(ctx build.Context) { var limits syscall.Rlimit err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &limits) if err != nil { ctx.Println("Failed to get file limit:", err) return } ctx.Verbosef("Current file limits: %d soft, %d hard", limits.Cur, limits.Max) if limits.Cur == limits.Max { return } limits.Cur = limits.Max err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &limits) if err != nil { ctx.Println("Failed to increase file limit:", err) } } Loading
cmd/soong_ui/main.go +22 −8 Original line number Original line Diff line number Diff line Loading @@ -205,14 +205,7 @@ func main() { buildCtx.Verbosef("Parallelism (local/remote/highmem): %v/%v/%v", buildCtx.Verbosef("Parallelism (local/remote/highmem): %v/%v/%v", config.Parallel(), config.RemoteParallel(), config.HighmemParallel()) config.Parallel(), config.RemoteParallel(), config.HighmemParallel()) { setMaxFiles(buildCtx) var limits syscall.Rlimit err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &limits) if err != nil { buildCtx.Verbosef("Failed to get file limit:", err) } buildCtx.Verbosef("Current file limits: %d soft, %d hard", limits.Cur, limits.Max) } { { // The order of the function calls is important. The last defer function call // The order of the function calls is important. The last defer function call Loading Loading @@ -614,3 +607,24 @@ func populateExternalDistDirHelper(ctx build.Context, config build.Config, inter } } } } } } func setMaxFiles(ctx build.Context) { var limits syscall.Rlimit err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &limits) if err != nil { ctx.Println("Failed to get file limit:", err) return } ctx.Verbosef("Current file limits: %d soft, %d hard", limits.Cur, limits.Max) if limits.Cur == limits.Max { return } limits.Cur = limits.Max err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &limits) if err != nil { ctx.Println("Failed to increase file limit:", err) } }