File tree 1 file changed +2
-2
lines changed
1 file changed +2
-2
lines changed Original file line number Diff line number Diff line change @@ -379,11 +379,12 @@ 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 close (keepaliveQuit )
383
+
382
384
for {
383
385
val , err := stanza .NextPacket (c .transport .GetDecoder ())
384
386
if err != nil {
385
387
c .ErrorHandler (err )
386
- close (keepaliveQuit )
387
388
c .disconnected (c .Session .SMState )
388
389
return
389
390
}
@@ -392,7 +393,6 @@ func (c *Client) recv(keepaliveQuit chan<- struct{}) {
392
393
switch packet := val .(type ) {
393
394
case stanza.StreamError :
394
395
c .router .route (c , val )
395
- close (keepaliveQuit )
396
396
c .streamError (packet .Error .Local , packet .Text )
397
397
c .ErrorHandler (errors .New ("stream error: " + packet .Error .Local ))
398
398
// 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