Runtime Ownership hardened

Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com>
This commit is contained in:
Alexey
2026-08-30 08:38:03 +03:00
parent 1bb6b0bdda
commit 281f63f940
91 changed files with 3972 additions and 1239 deletions
+2
View File
@@ -64,6 +64,8 @@ impl WebSession {
let poll = async {
loop {
let notified = self.down_notify.notified();
tokio::pin!(notified);
notified.as_mut().enable();
{
let mut state = self.state.lock();
if state.down_epoch != epoch {
+4
View File
@@ -151,6 +151,8 @@ impl WebSession {
let poll = async {
loop {
let notified = notify.notified();
tokio::pin!(notified);
notified.as_mut().enable();
{
let mut state = self.state.lock();
if state.closed {
@@ -306,6 +308,8 @@ impl WebSession {
let opened = tokio::time::timeout(deadline, async {
loop {
let notified = self.lane_open_notify.notified();
tokio::pin!(notified);
notified.as_mut().enable();
{
let state = self.state.lock();
if state.closed {
+2
View File
@@ -77,6 +77,8 @@ impl WebSession {
pub(crate) async fn wait(&self) {
loop {
let notified = self.tasks_done.notified();
tokio::pin!(notified);
notified.as_mut().enable();
if self.tasks_live.load(Ordering::Acquire) == 0 {
return;
}