mirror of
https://github.com/lua/lua.git
synced 2025-01-14 05:43:00 +08:00
bug: 'lua_pushcclosure' should not call the garbage collector when
'n' is zero.
This commit is contained in:
parent
ae11e37e53
commit
348fa1ca56
37
bugs
37
bugs
@ -3680,9 +3680,9 @@ It needs an "interceptor" 'memcmp' function that continues
|
||||
reading memory after a difference is found.]],
|
||||
patch = [[
|
||||
2c2
|
||||
< ** $Id: bugs,v 1.156 2017/08/12 13:12:42 roberto Exp roberto $
|
||||
< ** $Id: bugs,v 1.157 2017/08/31 16:14:41 roberto Exp roberto $
|
||||
---
|
||||
> ** $Id: bugs,v 1.156 2017/08/12 13:12:42 roberto Exp roberto $
|
||||
> ** $Id: bugs,v 1.157 2017/08/31 16:14:41 roberto Exp roberto $
|
||||
263c263,264
|
||||
< for (option = LUA_STRFTIMEOPTIONS; *option != '\0'; option += oplen) {
|
||||
---
|
||||
@ -3871,6 +3871,39 @@ patch = [[
|
||||
}
|
||||
|
||||
|
||||
Bug{
|
||||
what = [['lua_pushcclosure' should not call the garbage collector when
|
||||
'n' is zero.]],
|
||||
report = [[Andrew Gierth, 2017/12/05]],
|
||||
since = [[5.3.3]],
|
||||
fix = nil,
|
||||
example = [[ ]],
|
||||
patch = [[
|
||||
--- lapi.c 2017/04/19 17:13:00 2.259.1.1
|
||||
+++ lapi.c 2017/12/06 18:14:45
|
||||
@@ -533,6 +533,7 @@
|
||||
lua_lock(L);
|
||||
if (n == 0) {
|
||||
setfvalue(L->top, fn);
|
||||
+ api_incr_top(L);
|
||||
}
|
||||
else {
|
||||
CClosure *cl;
|
||||
@@ -546,9 +547,9 @@
|
||||
/* does not need barrier because closure is white */
|
||||
}
|
||||
setclCvalue(L, L->top, cl);
|
||||
+ api_incr_top(L);
|
||||
+ luaC_checkGC(L);
|
||||
}
|
||||
- api_incr_top(L);
|
||||
- luaC_checkGC(L);
|
||||
lua_unlock(L);
|
||||
}
|
||||
]]
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
--[=[
|
||||
|
Loading…
x
Reference in New Issue
Block a user