chore(protocol): don't start connection routines a second time (#10146)

This commit is contained in:
Simon Frei
2025-05-30 06:28:42 +00:00
committed by GitHub
parent 674834ccf4
commit 4fb8ee6a6f

View File

@@ -265,12 +265,15 @@ func newRawConnection(deviceID DeviceID, reader io.Reader, writer io.Writer, clo
}
// Start creates the goroutines for sending and receiving of messages. It must
// be called exactly once after creating a connection.
// be called once after creating a connection. It should only be called once,
// subsequent calls will have no effect.
func (c *rawConnection) Start() {
c.startStopMut.Lock()
defer c.startStopMut.Unlock()
select {
case <-c.started:
return
case <-c.closed:
// we have already closed the connection before starting processing
// on it.