Skip to content

fix AnyTLS memory leaks#124

Open
zhouhesheng wants to merge 1 commit intocfal:masterfrom
zhouhesheng:anytlsfix
Open

fix AnyTLS memory leaks#124
zhouhesheng wants to merge 1 commit intocfal:masterfrom
zhouhesheng:anytlsfix

Conversation

@zhouhesheng
Copy link
Copy Markdown

Before (leaked): Writer task holds Arc → Session holds outgoing_tx → Writer blocks on outgoing_rx.recv() → channel never closes → deadlock

After (fixed): Writer task holds only Weak. When stream is dropped → last external Arc drops → Session::drop() fires → close_notify.notify_waiters() → writer wakes up → Weak::upgrade() returns None → writer exits → all resources freed.

Before (leaked): Writer task holds Arc<Session> → Session holds outgoing_tx → Writer blocks on outgoing_rx.recv() → channel never closes → deadlock After (fixed): Writer task holds only Weak<Session>. When stream is dropped → last external Arc drops → Session::drop() fires → close_notify.notify_waiters() → writer wakes up → Weak::upgrade() returns None → writer exits → all resources freed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant