fixup! Close the UDP connection in Stop() of statsd input plugin.

This commit is contained in:
HUANG Wei 2016-03-17 16:38:09 +08:00
parent f4c2977cb5
commit 03fb8f53ee
1 changed files with 4 additions and 4 deletions

View File

@ -66,7 +66,7 @@ type Statsd struct {
// bucket -> influx templates // bucket -> influx templates
Templates []string Templates []string
listener *net.UDPConn listener *net.UDPConn
} }
func NewStatsd() *Statsd { func NewStatsd() *Statsd {
@ -248,7 +248,7 @@ func (s *Statsd) Start(_ telegraf.Accumulator) error {
// udpListen starts listening for udp packets on the configured port. // udpListen starts listening for udp packets on the configured port.
func (s *Statsd) udpListen() error { func (s *Statsd) udpListen() error {
var err error var err error
address, _ := net.ResolveUDPAddr("udp", s.ServiceAddress) address, _ := net.ResolveUDPAddr("udp", s.ServiceAddress)
s.listener, err = net.ListenUDP("udp", address) s.listener, err = net.ListenUDP("udp", address)
if err != nil { if err != nil {
@ -266,7 +266,7 @@ func (s *Statsd) udpListen() error {
n, _, err := s.listener.ReadFromUDP(buf) n, _, err := s.listener.ReadFromUDP(buf)
if err != nil { if err != nil {
log.Printf("ERROR READ: %s\n", err.Error()) log.Printf("ERROR READ: %s\n", err.Error())
continue continue
} }
select { select {
@ -561,7 +561,7 @@ func (s *Statsd) Stop() {
s.Lock() s.Lock()
defer s.Unlock() defer s.Unlock()
log.Println("Stopping the statsd service") log.Println("Stopping the statsd service")
s.listener.Close() s.listener.Close()
close(s.done) close(s.done)
close(s.in) close(s.in)
} }