diff options
Diffstat (limited to 'src/universe.h')
-rw-r--r-- | src/universe.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/universe.h b/src/universe.h index 38885cb..f4211af 100644 --- a/src/universe.h +++ b/src/universe.h | |||
@@ -119,9 +119,17 @@ class ProtectedAllocator : public AllocatorDefinition | |||
119 | 119 | ||
120 | // everything regarding the Lanes universe is stored in that global structure | 120 | // everything regarding the Lanes universe is stored in that global structure |
121 | // held as a full userdata in the master Lua state that required it for the first time | 121 | // held as a full userdata in the master Lua state that required it for the first time |
122 | // don't forget to initialize all members in LG_configure() | 122 | class Universe |
123 | struct Universe | ||
124 | { | 123 | { |
124 | public: | ||
125 | |||
126 | #ifdef PLATFORM_LINUX | ||
127 | // Linux needs to check, whether it's been run as root | ||
128 | bool const m_sudo{ geteuid() == 0 }; | ||
129 | #else | ||
130 | bool const m_sudo{ false }; | ||
131 | #endif // PLATFORM_LINUX | ||
132 | |||
125 | // for verbose errors | 133 | // for verbose errors |
126 | bool verboseErrors{ false }; | 134 | bool verboseErrors{ false }; |
127 | 135 | ||
@@ -155,6 +163,7 @@ struct Universe | |||
155 | // require() serialization | 163 | // require() serialization |
156 | std::recursive_mutex require_cs; | 164 | std::recursive_mutex require_cs; |
157 | 165 | ||
166 | // metatable unique identifiers | ||
158 | std::atomic<lua_Integer> next_mt_id{ 1 }; | 167 | std::atomic<lua_Integer> next_mt_id{ 1 }; |
159 | 168 | ||
160 | #if USE_DEBUG_SPEW() | 169 | #if USE_DEBUG_SPEW() |
@@ -165,6 +174,13 @@ struct Universe | |||
165 | // After a lane has removed itself from the chain, it still performs some processing. | 174 | // After a lane has removed itself from the chain, it still performs some processing. |
166 | // The terminal desinit sequence should wait for all such processing to terminate before force-killing threads | 175 | // The terminal desinit sequence should wait for all such processing to terminate before force-killing threads |
167 | std::atomic<int> selfdestructing_count{ 0 }; | 176 | std::atomic<int> selfdestructing_count{ 0 }; |
177 | |||
178 | Universe(); | ||
179 | ~Universe() = default; | ||
180 | Universe(Universe const&) = delete; | ||
181 | Universe(Universe&&) = delete; | ||
182 | Universe& operator=(Universe const&) = delete; | ||
183 | Universe& operator=(Universe&&) = delete; | ||
168 | }; | 184 | }; |
169 | 185 | ||
170 | // ################################################################################################ | 186 | // ################################################################################################ |