comparison src/luan/modules/http/LuanHandler.java @ 782:655280eab1e2

start limited cloning
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 30 Aug 2016 01:29:33 -0600
parents fbbdd369a13a
children d69d3c51c44e
comparison
equal deleted inserted replaced
781:fbbdd369a13a 782:655280eab1e2
68 return callRpc(luan,fnName,args); 68 return callRpc(luan,fnName,args);
69 } 69 }
70 70
71 public static Object callRpc(LuanState luan,String fnName,Object... args) throws LuanException { 71 public static Object callRpc(LuanState luan,String fnName,Object... args) throws LuanException {
72 synchronized(luan) { 72 synchronized(luan) {
73 LuanCloner cloner = new LuanCloner(); 73 LuanCloner cloner = new LuanCloner(true);
74 luan = (LuanState)cloner.deepClone(luan); 74 luan = (LuanState)cloner.clone(luan);
75 } 75 }
76 LuanTable rpc = (LuanTable)PackageLuan.require(luan,"luan:Rpc.luan"); 76 LuanTable rpc = (LuanTable)PackageLuan.require(luan,"luan:Rpc.luan");
77 LuanTable fns = (LuanTable)rpc.get(luan,"functions"); 77 LuanTable fns = (LuanTable)rpc.get(luan,"functions");
78 LuanFunction fn = (LuanFunction)fns.get(luan,fnName); 78 LuanFunction fn = (LuanFunction)fns.get(luan,fnName);
79 if( fn == null ) 79 if( fn == null )