Skip to content

fix: harden dealer connection lifecycle#303

Merged
devgianlu merged 1 commit intodevgianlu:masterfrom
gjermundgaraba:fix/dealer-connection-lifecycle
Apr 12, 2026
Merged

fix: harden dealer connection lifecycle#303
devgianlu merged 1 commit intodevgianlu:masterfrom
gjermundgaraba:fix/dealer-connection-lifecycle

Conversation

@gjermundgaraba
Copy link
Copy Markdown
Contributor

Additional follow-ups found during implementation of #302

Prevent panics and races during dealer close/reconnect by:

  • Initializing stop channels in the constructor instead of on each connect
  • Adding a permanent closed state that rejects Connect/writes/receivers after Close
  • Using non-blocking signal sends and clearing stale signals before receiving
  • Extracting safe read/write/close helpers that hold connMu properly
  • Resetting pong deadline on reconnect to avoid false timeouts

Prevent panics and races during dealer close/reconnect by:
- Initializing stop channels in the constructor instead of on each connect
- Adding a permanent closed state that rejects Connect/writes/receivers after Close
- Using non-blocking signal sends and clearing stale signals before receiving
- Extracting safe read/write/close helpers that hold connMu properly
- Resetting pong deadline on reconnect to avoid false timeouts
@devgianlu devgianlu merged commit aaed97c into devgianlu:master Apr 12, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants