On Thu, Mar 11, 2021 at 6:12 PM WX Lai <0xbill...@gmail.com> wrote:

> The code: https://repl.it/talk/share/The-assignment-disappeared/127774
>
> The assignment of the global variable `isRunning` in function `fg1` does not 
> work at all.
> In fact, the assignment is deleted in the assembly (see the comment of the 
> link above).
>
> Why the compiler works like this? It disappeared after the process `short 
> circuit`, after all `isRunning` is used in `main` and `fg2`, making `fg2` 
> never return.

The compiler is correct. The change to isRunning is not observable in
the goroutine that executes fg1() so there's no need to actually
update the variable.

-- 
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/CAA40n-U95xctsLH9_mFg5cDs3UhK8xRLSWrb7Eppnc-KOu-M%3DA%40mail.gmail.com.

Reply via email to