Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Add WORKERS_COUNT option for pkg-repo.
Vsevolod Stakhov committed 11 years ago
commit 8b48f0220dc3fc74fbe3f1c04be5631f15624431
parent 768bb00
2 files changed +12 -3
modified libpkg/pkg_config.c
@@ -311,6 +311,12 @@ static struct config_entry c[] = {
		"NO",
		"Profile sqlite queries"
	},
+
	{
+
		PKG_INT,
+
		"WORKERS_COUNT",
+
		"0",
+
		"How many workers are used for pkg-repo (hw.ncpu if 0)"
+
	},
};

static bool parsed = false;
modified libpkg/pkg_repo_create.c
@@ -559,9 +559,12 @@ pkg_create_repo(char *path, const char *output_dir, bool filelist,
	repopath[0] = path;
	repopath[1] = NULL;

-
	len = sizeof(num_workers);
-
	if (sysctlbyname("hw.ncpu", &num_workers, &len, NULL, 0) == -1)
-
		num_workers = 6;
+
	num_workers = pkg_object_int(pkg_config_get("WORKERS_COUNT"));
+
	if (num_workers <= 0) {
+
		len = sizeof(num_workers);
+
		if (sysctlbyname("hw.ncpu", &num_workers, &len, NULL, 0) == -1)
+
			num_workers = 6;
+
	}

	if ((fts = fts_open(repopath, FTS_PHYSICAL|FTS_NOCHDIR, NULL)) == NULL) {
		pkg_emit_errno("fts_open", path);