Commit Graph

23 Commits (02710ffdef3426438839b5e90dc00ecdece53a83)

Author SHA1 Message Date
Dylan Baker 02710ffdef cache: if the cache_table is NULL don't search it 2022-08-02 11:51:37 -07:00
Dylan Baker 9d82962160 fixup! cache: set the cache_table to NULL if empty 2022-08-02 11:51:29 -07:00
Dylan Baker c7b0f86815 cache: set the cache_table to NULL if empty
Instead of realloc'ing to a size of 0, set the cache_table to NULL when
removing the last element from it.
2022-08-02 09:58:56 -07:00
Dylan Baker d23dc2c183 cache: don't try to remove packages from the cache if it's NULL
Otherwise we end up reallocing the cache_table, when we shouldn't
2022-08-02 09:58:56 -07:00
Dylan Baker a620e62286 cache: unref the package when removing it from the cache 2022-08-02 09:58:56 -07:00
Dylan Baker 7025581da8 cache: use pkgconf_dependency_free instead of just setting match = NULL
This also means that we don't need to call unref on the pkgs, they've
already been freed by the dependency_free code
2022-07-27 13:59:24 -07:00
Dylan Baker f809e0978e cache: when removing a pkg from the cache, unset the cached flag 2022-07-27 12:17:59 -07:00
Dylan Baker 283050cc42 pkg: assert a package being freed has 0 references 2022-07-26 15:19:15 -07:00
Dylan Baker e9e7ebdbb6 cache: free allocated copy of cache_table in pkgconf_cache_free 2022-07-26 15:19:15 -07:00
Ariadne Conill ffa0805d58 cache: use pkgconf_reallocarray stub
ci/woodpecker/push/woodpecker Pipeline was successful Details
2022-06-26 04:38:02 +00:00
Ariadne Conill 464672404e cache: refactor to use a continguous table and bsearch
ci/woodpecker/push/woodpecker Pipeline was successful Details
cache functions are the hottest part of the pkgconf code when
profiled, by removing the linked list for lookups, we can turn
lookups into an O(k) operation
2022-06-26 04:30:35 +00:00
Ariadne Conill 4b87e256d3 cache: clear package cache without using the refcounts 2021-08-17 15:29:55 -06:00
William Pitcock d2b6983385 libpkgconf: cache: fix refcount issue exposed by recent depgraph solver changes 2017-12-08 13:39:40 -06:00
William Pitcock 44b4b126f3 libpkgconf: pkg: record which pkgconf_client_t owns each pkgconf_pkg_t object 2017-12-05 17:32:00 -06:00
William Pitcock e9fd43caa7 libpkgconf: clean up header includes (closes #137) 2017-09-17 23:38:25 -05:00
William Pitcock 9b55fc3c23 libpkgconf: cache: refactor the way package objects are marked as cached to avoid memory leaks (#133) 2017-09-13 14:41:19 -05:00
William Pitcock f7f0bfc460 libpkgconf: cache: add trace points 2017-02-04 20:01:41 -06:00
William Pitcock 9efa991d98 libpkgconf: update cache docs to new format 2016-12-10 19:40:51 -06:00
William Pitcock c05ecdfc9d libpkgconf: migrate cache to pkgconf_client_t which unfortunately requires it to be non-const :( 2016-12-02 00:29:33 -06:00
William Pitcock ca1b02659a libpkgconf: untangle remaining pkg_ functions related to pkgconf_pkg_t 2015-09-06 11:20:48 -05:00
William Pitcock 342950a5e4 libpkgconf: pkg_cache becomes pkgconf_cache 2015-09-06 10:50:23 -05:00
William Pitcock cc2dcc1f5d libpkgconf: move pkg_node and pkg_list to pkgconf_node and pkgconf_list namespaces 2015-09-06 10:31:21 -05:00
William Pitcock a706b3dccc initial libtoolization for libpkgconf 2015-09-06 09:35:08 -05:00