Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 26cb965d authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "In Soong, set max files soft limit to hard limit"

parents 9deb87e8 4ae119c1
Loading
Loading
Loading
Loading
+22 −8
Original line number Diff line number Diff line
@@ -205,14 +205,7 @@ func main() {
	buildCtx.Verbosef("Parallelism (local/remote/highmem): %v/%v/%v",
		config.Parallel(), config.RemoteParallel(), config.HighmemParallel())

	{
		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)
	}
	setMaxFiles(buildCtx)

	{
		// The order of the function calls is important. The last defer function call
@@ -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)
	}
}