Introduce xbps_{array,pkgdb}_foreach_cb_multi() and use it where appropiate.

In some tasks the single threaded implementation outperms the multithreaded
one. Use it where it really makes a difference. The _multi() routines do not
spawn any thread if _SC_NPROCESSORS_ONLN == 1.

Bump XBPS_API_VERSION.
This commit is contained in:
Juan RP
2013-09-17 16:30:13 +02:00
parent fce411bac6
commit 023484ca0b
9 changed files with 131 additions and 65 deletions

View File

@@ -147,7 +147,7 @@ remove_obsoletes(struct xbps_handle *xhp, const char *repodir)
}
(void)closedir(dirp);
rv = xbps_array_foreach_cb(xhp, array, NULL, cleaner_cb, repo);
rv = xbps_array_foreach_cb_multi(xhp, array, NULL, cleaner_cb, repo);
xbps_repo_close(repo);
xbps_object_release(array);