In the document HACKING.md 
(https://github.com/golang/go/blob/master/src/runtime/HACKING.md), it 
states that we can determine if we're running on the user or system stack 
by running `getg() == getg().m.curg`. 

However if the output of that equality check is true, does that mean we're 
on user or system stack?

getg can return the current g but when executing on the system stack it 
returns the current M's g0. 

I assume that a true means we're on the user stack because it says "To get 
the current user g, use getg().m.curg". However, there's no where that I 
can see that says that m.curg can't be the system stack, so please clarify.



Thank you,



-- 
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/39aacbed-0853-41cd-ad72-d9d0c9aa9242n%40googlegroups.com.

Reply via email to