On Wed, Apr 8, 2020 at 9:17 AM <aravindhank1...@gmail.com> wrote:
>
> I am not able to understand why this piece of go code deadlocks.
> Doesn't empty select{} blocks forever, irrespective of other go routines to
> wake that up.
>
> https://play.golang.org/p/zBWZPjTGYX7
>
> Please help me to understand why code is detected as deadlock.
> And When I run this code with go run -race main.go in Linux box(go version
> go1.13.6 linux/amd64), it prints "received 5" waits forever.
> I expect same to happen, when built and run.
>
> Sorry, if this is already answered, please point me.
Is your question why the behavior is different when you use -race?
The deadlock detection is best-effort; there are many different ways
that it can fail to detect a deadlock. I expect that -race interferes
with the simple deadlock detection.
Ian
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/golang-nuts/CAOyqgcXPkZZJBqLXHwmebgOdJyc%3DTwR%3D8S-9iTcub0WmXjkkQA%40mail.gmail.com.