The timeout is not propagated: In PcmlDocument.callProgram this.m_pcmlProgram = this.getProgramNode(var1); return this.m_pcmlProgram.callProgram(this.m_as400); does not propagate this.m_timeOut to this.m_pcmlProgram.setTimeout(), so the call is always executed without timeout as PcmlDocNode.m_timeOut defaults to 0 and PcmlDocNode.setTimeOut() is not called. The two lines should be expanded to: this.m_pcmlProgram = this.getProgramNode(var1); this.m_pcmlProgram.setTimeout(this.getTimeout()); return...
The timeout is not propagated: In PcmlDocument.callProgram this.m_pcmlProgram = this.getProgramNode(var1); return this.m_pcmlProgram.callProgram(this.m_as400); does not propagate this.m_timeOut to this.m_pcmlProgram.setTimeout(), so the call is always executed without timeout as PcmlDocNode.m_timeOut defaults to 0 and PcmlDocNode.setTimeOut() is not called. The two lines should be expanded to: this.m_pcmlProgram = this.getProgramNode(var1); this.m_pcmlProgram.setTimeout(this.getTimeout()); return...