Max and Claude Opus 5.5
9f3799cfaa
fix(libSceUsbd): wake event waiters after each pass of event handling
...
FreeBSD 11.4's libusb10_handle_events_sub ends every pass, a timed-out
one included, with pthread_cond_broadcast on the context's condition
variable, so a thread in libusb_wait_for_event wakes after each pass of
the handler. Here waiters woke only when the handler unlocked, so a
waiter could sleep through the handler's whole loop. Notify them when
the handler takes the event lock back after a pass.
The follower test that expected a timeout while the handler ran 20 ms
passes now races that wake-up, so guest_usbd checks three cases
instead: a follower with a long timeout returns 0 after a pass, a
follower times out during a longer pass, and a follower returns after
the handler held the event lock past its timeout.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-28 15:27:07 +01:00
..
2026-10-27 10:46:33 +01:00
2026-10-28 13:47:30 +13:00
2026-10-27 23:41:47 +13:00
2026-10-28 20:11:32 +13:00
2026-10-28 15:45:26 +13:00
2026-10-27 10:43:56 +01:00
2026-10-27 19:25:41 +01:00
2026-10-27 13:23:23 +01:00
2026-10-27 13:24:09 +01:00
2026-10-27 13:23:32 +01:00
2026-10-28 03:09:35 +01:00
2026-10-24 23:17:42 +03:00
2026-10-27 13:18:32 -04:00
2026-10-28 03:10:08 -04:00
2026-10-28 22:46:24 +13:00
2026-10-28 22:02:06 +13:00
2026-10-27 19:56:38 +03:00
2026-10-27 21:25:30 +13:00
2026-10-28 00:19:30 -03:00
2026-10-27 09:05:15 +00:00
2026-10-28 03:27:54 +01:00
2026-10-27 08:35:17 +01:00
2026-10-27 11:11:20 +00:00
2026-10-27 06:57:40 +00:00
2026-10-27 23:50:41 +00:00
2026-10-27 13:06:25 +00:00
2026-10-27 23:02:48 +00:00
2026-10-28 15:52:57 +08:00
2026-10-27 08:16:36 +01:00
2026-10-29 01:32:29 +13:00
2026-10-27 19:24:23 +00:00
2026-10-27 14:28:05 +01:00
2026-10-27 21:34:30 +13:00
2026-10-27 15:06:56 +04:00
2026-10-27 08:34:00 +01:00
2026-10-28 20:11:27 +13:00
2026-10-27 13:26:57 +00:00
2026-10-28 01:28:03 -04:00
2026-10-27 08:16:36 +01:00
2026-10-27 08:31:51 +01:00
2026-10-27 21:16:16 +13:00
2026-10-27 08:34:19 +01:00
2026-10-27 08:34:21 +01:00
2026-10-27 09:08:15 +01:00
2026-10-28 04:25:02 +00:00
2026-10-27 09:03:06 +00:00
2026-10-27 08:34:12 +01:00
2026-10-27 19:06:12 +13:00
2026-10-28 22:53:59 +13:00
2026-10-27 13:23:51 +01:00
2026-10-27 13:24:28 +01:00
2026-10-27 08:34:14 +01:00
2026-10-28 07:44:31 +00:00
2026-10-27 09:04:33 +01:00
2026-10-27 12:53:57 +01:00
2026-10-27 22:08:34 +13:00
2026-10-27 16:28:07 +03:00
2026-10-27 19:04:44 +13:00
2026-10-27 08:32:56 +01:00
2026-10-27 22:42:08 +01:00
2026-10-27 14:45:53 +05:30
2026-10-27 08:53:33 +01:00
2026-10-28 05:57:16 +01:00
2026-10-24 23:17:42 +03:00
2026-10-27 19:22:42 +00:00
2026-10-28 04:28:40 +00:00
2026-10-27 13:38:04 -05:00
2026-10-27 19:19:18 +01:00
2026-10-27 21:24:54 +13:00
2026-10-28 01:26:57 -04:00
2026-10-28 01:31:04 +01:00
2026-10-27 08:57:14 +01:00
2026-10-28 09:05:58 +01:00
2026-10-27 19:17:38 +01:00
2026-10-27 08:34:08 +01:00
2026-10-27 23:52:56 +00:00
2026-10-27 23:02:48 +00:00
2026-10-28 13:48:50 +13:00
2026-10-28 22:36:52 +13:00
2026-10-27 19:17:47 +01:00
2026-10-27 18:19:28 +13:00
2026-10-28 22:52:41 +13:00
2026-10-27 07:59:02 +01:00
2026-10-27 23:51:32 +00:00
2026-10-27 19:02:22 +13:00
2026-10-27 14:18:59 +01:00
2026-10-27 18:17:49 +01:00
2026-10-27 05:26:56 +00:00
2026-10-28 15:27:07 +01:00
2026-10-27 23:34:05 +00:00
2026-10-27 08:33:48 +01:00
2026-10-27 16:51:54 +01:00
2026-10-28 17:50:21 +13:00
2026-10-27 23:52:06 +00:00
2026-10-28 05:10:41 +01:00
2026-10-27 15:02:46 +05:30
2026-10-27 20:12:45 +05:30
2026-10-28 22:36:52 +13:00
2026-10-27 23:30:34 +00:00
2026-10-27 08:49:09 +01:00
2026-10-27 04:47:33 -03:00
2026-10-28 02:30:37 -04:00
2026-10-27 12:00:39 +01:00
2026-10-27 08:16:36 +01:00