rbmj/612-code — comment on commit 7db9b4fef0bc117f410a93c2f92b1b5ab5cfdb28
File:  line 0
By anidev:

I see. So the danger would have been that joysmooth could have tried to register before the registry was constructed?

Sent from my Android device.

-----Original Message-----
From: "Robert Blair Mason Jr."
To: Anirudh B
Sent: Thu, 09 Feb 2012 10:53 AM
Subject: Re: [612-code] Changed registry to preempt Static Initialization Order Fiasco (7db9b4f)

reg_obj is a static local variable. It's a C-ism. It's necessary because when we just use global variables, the C++ language is unable to guarantee the order in which constructors for said global variables are run. However, if we put it in a function, then the language is able to see the dependency through the "construct on first use idiom".

See this page: http://www.parashift.com/c++-faq-lite/ctors.html

---
Reply to this email directly or view it on GitHub:
https://github.com/rbmj/612-code/commit/7db9b4fef0bc117f410a93c2f92b1b5ab5cfdb28#commitcomment-949957