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
2022-06-26 04:38:02 +00:00
Ariadne Conill
464672404e
cache: refactor to use a continguous table and bsearch
...
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