diff options
author | Martino Facchin <m.facchin@arduino.cc> | 2015-10-01 17:35:26 +0200 |
---|---|---|
committer | Cristian Maglie <c.maglie@arduino.cc> | 2015-10-02 11:59:24 +0200 |
commit | 8cab209ef91cbda34bae8afa880f152c4f1473b0 (patch) | |
tree | 8dd9e1d4a4ded2f4de3c578d60502e0a3e6fda89 /cores/arduino/PluggableUSB.h | |
parent | 66d3eabe42fa4590b111d3fe8442c0e556acedcd (diff) |
[PUSB] Fix static initialization order fiasco
For details see:
https://isocpp.org/wiki/faq/ctors#static-init-order-on-first-use
Diffstat (limited to 'cores/arduino/PluggableUSB.h')
-rw-r--r-- | cores/arduino/PluggableUSB.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/cores/arduino/PluggableUSB.h b/cores/arduino/PluggableUSB.h index 824440a..b0668f4 100644 --- a/cores/arduino/PluggableUSB.h +++ b/cores/arduino/PluggableUSB.h @@ -66,7 +66,10 @@ private: PUSBListNode* rootNode; }; -extern PluggableUSB_ PluggableUSB; +// Replacement for global singleton. +// This function prevents static-initialization-order-fiasco +// https://isocpp.org/wiki/faq/ctors#static-init-order-on-first-use +PluggableUSB_& PluggableUSB(); #endif |