Skip to content

C# Client: 送信時のレースコンディションを解消#98

Open
makiuchi-d wants to merge 3 commits into
mainfrom
fix-sender-race
Open

C# Client: 送信時のレースコンディションを解消#98
makiuchi-d wants to merge 3 commits into
mainfrom
fix-sender-race

Conversation

@makiuchi-d

@makiuchi-d makiuchi-d commented Jun 23, 2026

Copy link
Copy Markdown
Member

クライアントメッセージのHMACが一致しないことがあるのを発見
websocket再接続の前後でのレースコンディションにより、送信バッファが別タスクから書き換えられる可能性があった

修正内容:

  • キャンセル済み接続からのmsgPool読み出しを抑制
  • websocket接続ごとに送信semaphoreと切断フラグを持つように整理

挙動の変更:
NetworkInformer.OnRoomSend()呼び出しタイミングが変更になり、切断後の送信も呼び出されるようになった
もともとこの機能はデバッグ時の計測用途のため影響は軽微(Conditional("DEBUG")が指定されている)

@makiuchi-d makiuchi-d requested a review from inada-s June 23, 2026 04:58
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.

1 participant