diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2008-02-19 15:55:09 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2008-02-19 15:55:09 -0300 |
| commit | e2b366c7601aeecda04f3b7ac5a2bd6eb80521bb (patch) | |
| tree | 580c94105007087a5029fcb02a0e3cb3be306b54 /lapi.c | |
| parent | fa19baab7ffd96cecb1defe4ad81084c612d2704 (diff) | |
| download | lua-e2b366c7601aeecda04f3b7ac5a2bd6eb80521bb.tar.gz lua-e2b366c7601aeecda04f3b7ac5a2bd6eb80521bb.tar.bz2 lua-e2b366c7601aeecda04f3b7ac5a2bd6eb80521bb.zip | |
userdata with finalizers are kept in a separated list
Diffstat (limited to 'lapi.c')
| -rw-r--r-- | lapi.c | 8 |
1 files changed, 4 insertions, 4 deletions
| @@ -1,12 +1,10 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lapi.c,v 2.64 2008/02/12 13:34:12 roberto Exp roberto $ | 2 | ** $Id: lapi.c,v 2.65 2008/02/14 16:02:58 roberto Exp roberto $ |
| 3 | ** Lua API | 3 | ** Lua API |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | #include <assert.h> | ||
| 9 | #include <math.h> | ||
| 10 | #include <stdarg.h> | 8 | #include <stdarg.h> |
| 11 | #include <string.h> | 9 | #include <string.h> |
| 12 | 10 | ||
| @@ -698,8 +696,10 @@ LUA_API int lua_setmetatable (lua_State *L, int objindex) { | |||
| 698 | } | 696 | } |
| 699 | case LUA_TUSERDATA: { | 697 | case LUA_TUSERDATA: { |
| 700 | uvalue(obj)->metatable = mt; | 698 | uvalue(obj)->metatable = mt; |
| 701 | if (mt) | 699 | if (mt) { |
| 702 | luaC_objbarrier(L, rawuvalue(obj), mt); | 700 | luaC_objbarrier(L, rawuvalue(obj), mt); |
| 701 | luaC_checkfinalizer(L, rawuvalue(obj)); | ||
| 702 | } | ||
| 703 | break; | 703 | break; |
| 704 | } | 704 | } |
| 705 | default: { | 705 | default: { |
