diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2021-12-22 09:00:52 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2021-12-22 09:00:52 -0300 |
commit | 597a53bbc681089d85b082b46c2e2428dec43b86 (patch) | |
tree | b7dc3fc3f21b66bd8e9422e16b0fdde6d1ec6e01 /lgc.h | |
parent | 86ec152433baf8daf39f03a59c6842cbe33a179d (diff) | |
download | lua-597a53bbc681089d85b082b46c2e2428dec43b86.tar.gz lua-597a53bbc681089d85b082b46c2e2428dec43b86.tar.bz2 lua-597a53bbc681089d85b082b46c2e2428dec43b86.zip |
Bug: finalizer calling exit can corrupt finalization order
'os.exit' can call lua_close again, separating new finalizers
created after all previous finalizers were already separated.
Diffstat (limited to 'lgc.h')
-rw-r--r-- | lgc.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -154,6 +154,7 @@ | |||
154 | */ | 154 | */ |
155 | #define GCSTPUSR 1 /* bit true when GC stopped by user */ | 155 | #define GCSTPUSR 1 /* bit true when GC stopped by user */ |
156 | #define GCSTPGC 2 /* bit true when GC stopped by itself */ | 156 | #define GCSTPGC 2 /* bit true when GC stopped by itself */ |
157 | #define GCSTPCLS 4 /* bit true when closing Lua state */ | ||
157 | #define gcrunning(g) ((g)->gcstp == 0) | 158 | #define gcrunning(g) ((g)->gcstp == 0) |
158 | 159 | ||
159 | 160 | ||