File tree Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -379,11 +379,13 @@ func (c *Client) sendWithWriter(writer io.Writer, packet []byte) error {
379
379
380
380
// Loop: Receive data from server
381
381
func (c * Client ) recv (keepaliveQuit chan <- struct {}) {
382
+ defer func () {
383
+ close (keepaliveQuit )
384
+ }()
382
385
for {
383
386
val , err := stanza .NextPacket (c .transport .GetDecoder ())
384
387
if err != nil {
385
388
c .ErrorHandler (err )
386
- close (keepaliveQuit )
387
389
c .disconnected (c .Session .SMState )
388
390
return
389
391
}
@@ -392,7 +394,6 @@ func (c *Client) recv(keepaliveQuit chan<- struct{}) {
392
394
switch packet := val .(type ) {
393
395
case stanza.StreamError :
394
396
c .router .route (c , val )
395
- close (keepaliveQuit )
396
397
c .streamError (packet .Error .Local , packet .Text )
397
398
c .ErrorHandler (errors .New ("stream error: " + packet .Error .Local ))
398
399
// We don't return here, because we want to wait for the stream close tag from the server, or timeout.
You can’t perform that action at this time.
0 commit comments