mirror of
https://github.com/launchbadge/sqlx.git
synced 2025-12-29 21:00:54 +00:00
If wait_for_conn is dropped before completing, release will call wake on a waker that noone is listining on. This leads to a state where waiting will gro indefinitly while all connections are idle. To fix this we turn waiting into a queue of unique Weak pointers. This way if wait_for_conn is dropped the pointer in waiting cannot be upgraded, we can use this as a signal that we shoud wake the next one instead.