mirror of
https://github.com/tailscale/tailscale.git
synced 2025-02-18 02:48:40 +00:00
derp/derphttp: return nicer errors from Recv on Close
This commit is contained in:
parent
741d654aa3
commit
ca51529b81
@ -709,10 +709,19 @@ func (c *Client) RecvDetail() (m derp.ReceivedMessage, connGen int, err error) {
|
|||||||
m, err = client.Recv()
|
m, err = client.Recv()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.closeForReconnect(client)
|
c.closeForReconnect(client)
|
||||||
|
if c.isClosed() {
|
||||||
|
err = ErrClientClosed
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return m, connGen, err
|
return m, connGen, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *Client) isClosed() bool {
|
||||||
|
c.mu.Lock()
|
||||||
|
defer c.mu.Unlock()
|
||||||
|
return c.closed
|
||||||
|
}
|
||||||
|
|
||||||
// Close closes the client. It will not automatically reconnect after
|
// Close closes the client. It will not automatically reconnect after
|
||||||
// being closed.
|
// being closed.
|
||||||
func (c *Client) Close() error {
|
func (c *Client) Close() error {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user