()
| 30 | } |
| 31 | |
| 32 | func (c *guardedPluginClient) acquire() (pluginClient, error) { |
| 33 | if c == nil { |
| 34 | return nil, fmt.Errorf("plugin client is closed") |
| 35 | } |
| 36 | c.mu.Lock() |
| 37 | defer c.mu.Unlock() |
| 38 | if c.closed || c.inner == nil { |
| 39 | return nil, fmt.Errorf("plugin client is closed") |
| 40 | } |
| 41 | c.calls++ |
| 42 | return c.inner, nil |
| 43 | } |
| 44 | |
| 45 | func (c *guardedPluginClient) release() { |
| 46 | c.mu.Lock() |