Skip to content

Commit 6efefcb

Browse files
committed
Close socket immediately after server_shutdown error
1 parent 2ee2803 commit 6efefcb

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

socket.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -760,6 +760,16 @@ func (socket *mongoSocket) readLoop() {
760760
replyFunc(nil, &reply, i, b)
761761
}
762762

763+
var replyError queryError
764+
if err := bson.Unmarshal(b, &replyError); err != nil {
765+
debugf("Socket %p to %s: received broken document: %#v", socket, socket.addr, err)
766+
}
767+
switch replyError.Code {
768+
case 11600:
769+
socket.kill(errors.New("server_shutdown: "+replyError.ErrMsg), true)
770+
return
771+
}
772+
763773
// XXX Do bound checking against totalLen.
764774
}
765775
}

0 commit comments

Comments
 (0)