From 00b7d1f0fac54c247c3eb30d53cb5588b62bb7c9 Mon Sep 17 00:00:00 2001 From: Jesse Liston Date: Mon, 11 Sep 2023 22:13:15 -0700 Subject: [PATCH] propogate err to condRelease in withAddrRw --- memcache/memcache.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/memcache/memcache.go b/memcache/memcache.go index b2ebacd2..e189b3f9 100644 --- a/memcache/memcache.go +++ b/memcache/memcache.go @@ -363,13 +363,16 @@ func (c *Client) withKeyAddr(key string, fn func(net.Addr) error) (err error) { return fn(addr) } -func (c *Client) withAddrRw(addr net.Addr, fn func(*bufio.ReadWriter) error) (err error) { +func (c *Client) withAddrRw(addr net.Addr, fn func(*bufio.ReadWriter) error) error { cn, err := c.getConn(addr) if err != nil { return err } defer cn.condRelease(&err) - return fn(cn.rw) + if err = fn(cn.rw); err != nil { + return err + } + return nil } func (c *Client) withKeyRw(key string, fn func(*bufio.ReadWriter) error) error {