<head>\r
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\r
<script src="../MiMicCore.js"></script> \r
-<script src="../LPCXpresso1769.All.js"></script> \r
+<script src="../LPCXPresso1769.All.js"></script> \r
<script type="text/javascript">\r
function init(){\r
var mcu=new LPCXpresso1769.Mcu("192.168.128.39");\r
}cgi_setting;\r
static NyLPC_TUInt16 port;\r
\r
+static NyLPC_TcMutex_t _vm_mutex;\r
+\r
+\r
#define ACCESS_CTRL_SUBNET 0x00 //default\r
#define ACCESS_CTRL_ALL 0x01\r
\r
if(cgi_setting.setup_access>0x01){\r
cgi_setting.setup_access=0;\r
}\r
+ //VMの排他ロック\r
+ NyLPC_cMutex_initialize(&_vm_mutex);\r
\r
\r
\r
}work;\r
NyLPC_Assert(i_rqh->content.mvm.v==1);\r
NyLPC_Assert(i_rqh->content.mvm.o==TRemoteMcuRequest_QVAL_O_JSON);\r
- //インスタンスはシングル?\r
\r
//ヘッダを書く\r
if(!writeJsonHeader(i_st,&(work.hw),&(i_rqh->super))){\r
work.bw.eh.st=i_st;\r
work.bw.eh.req=i_rqh;\r
\r
+ //VM起動の為の排他ロック\r
+ NyLPC_Assert(NyLPC_cMutex_lock(&_vm_mutex));\r
+\r
//Bodyの書込み\r
NyLPC_cHttpBodyWriter_initialize(&(work.bw.eh.bw),i_st);\r
//起動VMの初期化\r
}\r
NyLPC_cMiMicVM_finalize(&vm);\r
NyLPC_cHttpBodyWriter_finalize(&hw);\r
+\r
+ //VM排他ロックの解除\r
+ NyLPC_Assert(NyLPC_cMutex_unlock(&_vm_mutex));\r
+\r
+\r
//持続性はフラグから判断する。\r
return NyLPC_THttpBasicHeader_isPersistent(&(i_rqh->super));\r
Error_NyLPC_cHttpBodyWriter_format:\r
Error_NyLPC_cHttpBodyWriter_close:\r
+ //VM排他ロックの解除\r
+ NyLPC_Assert(NyLPC_cMutex_unlock(&_vm_mutex));\r
NyLPC_cMiMicVM_finalize(&vm);\r
NyLPC_cHttpBodyWriter_finalize(&hw);\r
return NyLPC_TBool_FALSE;\r