1.51.5
Fixed 15
- Handle integer overflow in buffered relative seek in fs
- Revert always cleanup AsyncFd registration list on deregister in io
- Unregister Windows wait before closing child handle in process
- Drop blocking pool mutex before shutting down rejected task in rt
- Fix mpsc index wraparound in block reclamation in sync
- Forget mpsc Permit before sending value in sync
- Validate MAX_PERMITS in Semaphore::acquire in sync
- Wake broadcast Sender::closed outside mutex in sync
- Drop replaced waker outside lock in JoinSet in task
- Drop timer lock before dropping waker in clear_entry in time
- Expire timers directly on shutdown without rotating wheel in time
- Ignore current_thread task dumps from other runtimes in rt (unstable)
- Preserve io_uring context if a completion waker panics in rt (unstable)
- Fix semaphore use-after-free and permit leak on tracing panic in sync (unstable)
- Drop stored waker when cancelling alt timer entry in time (unstable)
From Tokio
Fixed
- fs: handle integer overflow in buffered relative seek (#8574)
- io: revert "always cleanup
AsyncFdregistration list on deregister" (#8540) - process: unregister Windows wait before closing child handle (#8564)
- rt: drop blocking pool mutex before shutting down rejected task (#8562)
- sync: fix mpsc index wraparound in block reclamation (#8546)
- sync: forget mpsc
Permitbefore sending value (#8560) - sync: validate
MAX_PERMITSinSemaphore::acquire(#8548) - sync: wake broadcast
Sender::closedoutside mutex (#8558) - task: drop replaced waker outside lock in
JoinSet(#8554) - time: drop timer lock before dropping waker in
clear_entry(#8552) - time: expire timers directly on shutdown without rotating wheel (#8570)