diff options
| author | xengineering <me@xengineering.eu> | 2023-07-03 14:04:19 +0200 | 
|---|---|---|
| committer | xengineering <me@xengineering.eu> | 2023-07-03 14:04:19 +0200 | 
| commit | 8df0398af97f2f9e782f4f5581ea5f4db236710d (patch) | |
| tree | 53286da2739ae794ce7d420bb913a93139961880 /limox.go | |
| parent | 322e2c5f24c830282dbd66adbb95a7acf1255c9a (diff) | |
| parent | 58aecc9d860a18767aa51d0d94793057e1aa57e2 (diff) | |
| download | limox-8df0398af97f2f9e782f4f5581ea5f4db236710d.tar limox-8df0398af97f2f9e782f4f5581ea5f4db236710d.tar.zst limox-8df0398af97f2f9e782f4f5581ea5f4db236710d.zip | |
Merge branch 'fix-btn-callback-race'
This fixes a race condition which was discovered during testing with a
bad network connection. Good network connections seem to hide this
error.
Diffstat (limited to 'limox.go')
| -rw-r--r-- | limox.go | 5 | 
1 files changed, 3 insertions, 2 deletions
| @@ -80,6 +80,7 @@ func (l *Limox) run() error {  }  func (l *Limox) buttonCallback() { +	c := l.sessionIn  	switch l.State {  	case Disconnected:  		jid := l.JidEditor.Text() @@ -89,10 +90,10 @@ func (l *Limox) buttonCallback() {  		l.sessionIn = xmpp.StartSession(l.sessionOut, jid, pwd)  		l.State = Connecting  	case Connecting: -		go func() { l.sessionIn <- xmpp.SessionShouldDisconnect{} }() +		go func() { c <- xmpp.SessionShouldDisconnect{} }()  		l.State = Disconnected  	case Connected: -		go func() { l.sessionIn <- xmpp.SessionShouldDisconnect{} }() +		go func() { c <- xmpp.SessionShouldDisconnect{} }()  		l.State = Disconnected  	}  } | 
