Skip to content

closed channel #15

@adamjacobmuller

Description

@adamjacobmuller
panic: close of closed channel

goroutine 424 [running]:
github.com/pdf/golifx/protocol/v2/device.(*Device).delSeq(0xc420164120, 0xc42016e008)
	/Users/adam/Scripts/go/src/github.com/pdf/golifx/protocol/v2/device/device.go:827 +0xa2
github.com/pdf/golifx/protocol/v2/device.(*Device).handler.func1(0xc420164120, 0xc4202b8020, 0xc420145000, 0x8)
	/Users/adam/Scripts/go/src/github.com/pdf/golifx/protocol/v2/device/device.go:787 +0x1f0
created by github.com/pdf/golifx/protocol/v2/device.(*Device).handler
	/Users/adam/Scripts/go/src/github.com/pdf/golifx/protocol/v2/device/device.go:768 +0x368
exit status 2

also:

panic: send on closed channel

goroutine 453 [running]:
github.com/pdf/golifx/protocol/v2/device.(*Device).handler.func1(0xc420114120, 0xc420241100, 0xc4202822e0, 0x8)
	/Users/adam/Scripts/go/src/github.com/pdf/golifx/protocol/v2/device/device.go:776 +0x166
created by github.com/pdf/golifx/protocol/v2/device.(*Device).handler
	/Users/adam/Scripts/go/src/github.com/pdf/golifx/protocol/v2/device/device.go:768 +0x368
exit status 2

planning on looking at these myself, creating an issue to remember.

reproduce code is very simple:

func main() {
	client, err := golifx.NewClient(&protocol.V2{Reliable: true, Port: 56700})
	if err != nil {
		panic(err)
	}

	logger := log.New()
	logger.Level = log.InfoLevel
	golifx.SetLogger(logger)
	client.SetDiscoveryInterval(time.Second * 10)

	sig := make(chan os.Signal, 1)
	signal.Notify(sig, os.Interrupt, syscall.SIGTERM)
	<-sig
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions