- commit
- 8badf49b0cf444aa947f166577c040f54a76f2fd
- parent
- f716fc98652050a97c8996109ac257837ae6636c
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2024-10-06 06:19
fix concurrency: drain player.send on disconnect
Diffstat
| M | server.go | 8 | +++++++- |
1 files changed, 7 insertions, 1 deletions
diff --git a/server.go b/server.go
@@ -57,7 +57,13 @@ func (player *Player) readPump() {
57 57 func (player *Player) writePump() {
58 58 defer player.conn.Close()
59 59 ticker := time.NewTicker(20 * time.Second)
60 -1 defer ticker.Stop()
-1 60
-1 61 defer func() {
-1 62 ticker.Stop()
-1 63 for _ = range player.send {
-1 64 // drain
-1 65 }
-1 66 }()
61 67
62 68 for {
63 69 select {