diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/BLua.cc | 11 | ||||
-rw-r--r-- | lib/LuaHttp.cc | 4 |
2 files changed, 11 insertions, 4 deletions
diff --git a/lib/BLua.cc b/lib/BLua.cc index d65b553..ac1f8e8 100644 --- a/lib/BLua.cc +++ b/lib/BLua.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* $Id: BLua.cc,v 1.47 2007-05-30 11:57:09 pixel Exp $ */ +/* $Id: BLua.cc,v 1.48 2007-05-30 22:36:31 pixel Exp $ */ #include <stdlib.h> #include "BLua.h" @@ -402,6 +402,8 @@ Lua::Lua() : L(lua_open()), _protected(false), _is_thread(false) { push("BLUA_THREADS"); newtable(); settable(LUA_REGISTRYINDEX); + + father = 0; } Lua::Lua(lua_State * __L) : L(__L), _protected(false), _is_thread(true) { @@ -413,8 +415,13 @@ Lua::Lua(lua_State * __L) : L(__L), _protected(false), _is_thread(true) { } +Lua * Lua::Father() { + return father ? father : this; +} + Lua * Lua::spawn_from_thread(lua_State * __L) { - return new Lua(__L); + Lua * L = new Lua(__L); + L->father = Father(); } Lua::~Lua() { diff --git a/lib/LuaHttp.cc b/lib/LuaHttp.cc index 8f2b2e3..92af759 100644 --- a/lib/LuaHttp.cc +++ b/lib/LuaHttp.cc @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* $Id: LuaHttp.cc,v 1.11 2007-05-30 11:57:10 pixel Exp $ */ +/* $Id: LuaHttp.cc,v 1.12 2007-05-30 22:36:31 pixel Exp $ */ #include "Domain.h" #include "LuaHttp.h" @@ -205,7 +205,7 @@ int sLua_HttpResponse::HttpResponse_proceed(Lua * L, int n, HttpResponse * res, class LuaDomain : public Domain { public: - LuaDomain(Lua * _L, String r) : Domain(r), L(_L) { + LuaDomain(Lua * _L, String r) : Domain(r), L(_L->Father()) { id = max_id++; L->push(DOMAIN_REGISTRY); |