fix close on closed socket_writer (#2748)
This commit is contained in:
parent
5c88965084
commit
52c19af0ba
|
@ -124,6 +124,16 @@ func (sw *SocketWriter) Write(metrics []telegraf.Metric) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Close closes the connection. Noop if already closed.
|
||||
func (sw *SocketWriter) Close() error {
|
||||
if sw.Conn == nil {
|
||||
return nil
|
||||
}
|
||||
err := sw.Conn.Close()
|
||||
sw.Conn = nil
|
||||
return err
|
||||
}
|
||||
|
||||
func newSocketWriter() *SocketWriter {
|
||||
s, _ := serializers.NewInfluxSerializer()
|
||||
return &SocketWriter{
|
||||
|
|
|
@ -143,7 +143,7 @@ func TestSocketWriter_Write_err(t *testing.T) {
|
|||
|
||||
// close the socket to generate an error
|
||||
lconn.Close()
|
||||
sw.Close()
|
||||
sw.Conn.Close()
|
||||
err = sw.Write(metrics)
|
||||
require.Error(t, err)
|
||||
assert.Nil(t, sw.Conn)
|
||||
|
|
Loading…
Reference in New Issue