Cleanup created script instances if they failed to run.
git-svn-id: http://voip.null.ro/svn/yate@6545 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
38368b8228
commit
a0d085b165
|
@ -6413,8 +6413,10 @@ bool JsGlobal::runMain()
|
||||||
m_instanceCount,m_instances.count());
|
m_instanceCount,m_instances.count());
|
||||||
if (m_instanceCount <= 1) {
|
if (m_instanceCount <= 1) {
|
||||||
JsGlobalInstance* inst = new JsGlobalInstance(this,0);
|
JsGlobalInstance* inst = new JsGlobalInstance(this,0);
|
||||||
if(ScriptRun::Succeeded != inst->runMain())
|
if(ScriptRun::Succeeded != inst->runMain()) {
|
||||||
|
TelEngine::destruct(inst);
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
m_instances.append(inst);
|
m_instances.append(inst);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -6422,13 +6424,16 @@ bool JsGlobal::runMain()
|
||||||
// add instances if m_instancesCount is increased
|
// add instances if m_instancesCount is increased
|
||||||
for (unsigned int i = 0; i < m_instanceCount; i++) {
|
for (unsigned int i = 0; i < m_instanceCount; i++) {
|
||||||
JsGlobalInstance* inst = getInstance(i + 1);
|
JsGlobalInstance* inst = getInstance(i + 1);
|
||||||
|
// get instance returns a refcounted instance
|
||||||
if (inst) {
|
if (inst) {
|
||||||
TelEngine::destruct(inst);
|
TelEngine::destruct(inst);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
inst = new JsGlobalInstance(this,i + 1);
|
inst = new JsGlobalInstance(this,i + 1);
|
||||||
if(ScriptRun::Succeeded != inst->runMain())
|
if(ScriptRun::Succeeded != inst->runMain()) {
|
||||||
|
TelEngine::destruct(inst);
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
m_instances.append(inst);
|
m_instances.append(inst);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue