ips/libips
Till Wegmueller d5ed328ab2 fix: Resolve RwLock deadlocks in ObsoletedPackageManager causing test hangs
Multiple methods held a read or write lock on self.index while calling
fallback methods that also needed to acquire locks, causing deadlocks:

- get_obsoleted_package_metadata: read lock held during filesystem
  fallback that calls update_index_entry (write lock)
- get_obsoleted_package_manifest: same pattern
- remove_obsoleted_package: write lock held while calling build_index
  (also needs write lock)
- search_obsoleted_packages: read lock held during fallback

Fix: scope all lock acquisitions in blocks so locks are dropped before
calling any method that may also acquire a lock. For remove, extract a
needs_rebuild flag set inside the lock scope, then call build_index
after release.

All 95 libips tests now pass (previously 3 hung indefinitely).
2026-03-15 20:27:57 +01:00
..
src fix: Resolve RwLock deadlocks in ObsoletedPackageManager causing test hangs 2026-03-15 20:27:57 +01:00
tests Refactor to align with Rust formatting guidelines and enhance code readability. 2025-12-22 20:10:17 +01:00
.gitignore merging all ips packages into one repo 2021-03-21 14:12:03 -03:00
Cargo.toml Convert trait methods to use &self instead of &mut self, introduce Mutex for interior mutability, optimize HTTP client creation, and implement parallel payload processing using Rayon. 2026-02-05 15:57:56 +01:00