solyanviktor-star
769381fb3e
fix(credential_pool): complete the locking boundary across the public pool surface
...
Follow-up to review feedback:
- Acquire self._lock in the remaining public pool-state methods:
has_credentials, reset_statuses, remove_index, resolve_target, and
add_entry. All of them read or rebind self._entries (and the mutating
ones persist auth.json), so they now hold the same lock as select()
and the query methods. None are called from within the lock, so no
unlocked helpers are needed.
- Make the blocking test deterministic: an instrumented lock records the
acquire attempt, and the test first waits for the worker to actually
reach self._lock before asserting it blocks. Previously an unlocked
method could pass if the worker thread was scheduled late.
- Extend the lock test matrix to all nine public methods; the five newly
locked ones fail the test without this fix.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-23 09:31:58 -07:00
..
2026-07-20 13:43:36 -04:00
2026-07-05 13:42:46 -07:00
2026-07-22 04:40:07 -07:00
2026-07-23 07:33:28 -07:00
2026-05-28 00:20:11 -07:00
2026-07-22 10:58:22 -07:00
2026-07-23 17:57:33 +05:30
2026-07-23 07:33:25 -07:00
2026-07-22 06:59:33 -07:00
2026-07-18 20:01:55 +05:30
2026-07-16 04:23:12 -07:00
2026-07-23 07:34:24 -07:00
2026-05-18 10:14:38 -07:00
2026-07-14 17:19:46 +05:30
2026-07-21 13:54:11 -05:00
2026-07-20 05:49:44 -07:00
2026-07-22 18:08:59 -05:00
2026-07-18 14:30:24 +05:30
2026-07-21 12:20:25 +05:30
2026-07-05 14:00:20 -07:00
2026-05-17 04:04:15 -07:00
2026-05-29 04:22:27 -07:00
2026-07-23 17:57:33 +05:30
2026-07-15 09:47:37 -07:00
2026-07-22 12:02:40 -05:00
2026-07-21 20:18:43 -05:00
2026-06-29 09:18:10 -04:00
2026-07-23 08:43:21 -07:00
2026-07-23 08:43:21 -07:00
2026-07-01 02:43:49 -07:00
2026-07-23 08:43:21 -07:00
2026-07-23 08:43:21 -07:00
2026-07-23 07:33:28 -07:00
2026-07-02 13:17:41 -07:00
2026-07-23 09:31:58 -07:00
2026-07-02 13:17:41 -07:00
2026-07-23 01:28:58 -05:00
2026-07-18 02:31:20 -07:00
2026-07-10 18:32:32 +05:30
2026-07-23 07:33:36 -07:00
2026-07-18 12:28:59 -07:00
2026-07-18 12:54:58 -07:00
2026-07-17 13:49:12 -07:00
2026-07-22 04:40:07 -07:00
2026-07-13 22:26:19 -07:00
2026-07-17 04:54:06 -07:00
2026-07-22 16:51:01 -04:00
2026-06-18 22:13:07 -07:00
2026-05-13 22:31:28 -07:00
2026-07-23 08:32:09 -07:00
2026-07-16 05:39:33 -07:00
2026-05-16 17:59:32 -07:00
2026-05-28 00:20:11 -07:00
2026-07-14 16:47:33 +05:30
2026-06-30 16:56:01 -07:00
2026-07-05 00:59:35 -07:00
2026-07-01 16:25:48 -05:00
2026-06-30 15:16:21 -05:00
2026-07-16 07:57:51 -07:00
2026-07-23 08:19:14 -07:00
2026-05-11 16:49:13 -07:00
2026-07-17 04:55:58 -07:00
2026-06-21 12:03:46 -07:00
2026-06-19 15:23:41 +08:00
2026-06-25 12:24:34 -05:00
2026-07-22 06:57:54 -07:00
2026-07-01 04:07:46 -07:00
2026-07-22 06:57:22 -07:00
2026-05-27 00:43:32 -07:00
2026-07-20 11:05:52 -07:00
2026-05-08 14:27:40 -07:00
2026-07-22 12:10:58 -05:00
2026-06-23 08:01:50 +00:00
2026-05-10 07:09:28 -07:00
2026-07-16 01:13:43 -07:00
2026-07-05 03:14:55 -07:00
2026-07-20 11:10:49 -07:00
2026-07-09 14:35:14 +05:30
2026-04-13 16:32:04 -07:00
2026-07-10 05:41:59 -05:00
2026-07-20 02:25:44 -07:00
2026-07-20 02:25:57 -07:00
2026-07-19 08:25:35 +05:30
2026-07-07 11:57:01 +05:30
2026-07-16 04:32:23 -07:00
2026-07-22 04:39:17 -07:00
2026-07-07 02:32:32 -07:00
2026-07-05 14:48:11 -07:00
2026-07-14 16:41:21 +05:30
2026-06-28 05:28:45 -07:00
2026-07-17 04:52:02 -07:00
2026-06-13 21:14:32 -07:00
2026-07-02 04:51:56 +05:30
2026-05-28 04:53:27 -07:00
2026-07-17 18:31:09 +00:00
2026-07-01 04:55:15 -07:00
2026-07-22 08:11:09 +05:30
2026-07-18 19:03:51 -04:00
2026-07-16 01:07:29 +05:30
2026-06-25 19:00:48 -07:00
2026-06-30 17:28:33 -07:00
2026-07-16 23:07:13 -07:00
2026-07-16 04:26:32 -07:00
2026-07-20 13:04:12 -07:00
2026-07-18 02:08:39 -07:00
2026-07-11 05:41:58 -07:00
2026-07-07 15:12:49 -07:00
2026-02-21 22:31:43 -08:00
2026-05-25 01:41:19 -07:00
2026-07-14 02:59:39 +05:30
2026-05-24 18:04:54 -07:00
2026-07-14 02:59:39 +05:30
2026-07-23 08:43:21 -07:00
2026-07-20 11:42:29 -04:00
2026-07-22 12:02:40 -05:00
2026-07-20 05:38:45 -07:00
2026-07-23 17:32:38 +05:30
2026-07-12 04:32:52 -07:00
2026-06-30 00:59:29 -05:00
2026-07-02 06:07:56 +05:30
2026-07-14 02:59:39 +05:30
2026-07-14 02:59:39 +05:30
2026-07-06 02:42:24 -07:00
2026-07-06 04:38:17 -07:00