Chinaunix

标题: strcmtctl求助 [打印本页]

作者: lpc002000    时间: 2010-07-15 15:20
标题: strcmtctl求助
有一个使用commitment control的程序,有时在用qcmdexc去strcmtctl的时候会崩溃,job log说commitment control already active。可是我的程序里每次start的时候的cl命令是strcmtctl lcklvl(*chg) cmtscope(*job),同时程序内部的逻辑也确保退出时已经endcmtctl了。另外,程序编译时指定的default activation group为*YES,default activation group还有很多其他程序在运行。

会出现此种情况的概率比较低,程序上线三四个月,出现了2次。

请各位大侠指点一下出现这种情况可能会是什么原因引起的?小弟感激不尽!
作者: gto1101    时间: 2010-07-15 19:42
很明显同一个JOB GROUP已经有了CMTCTL了,你再次启动肯定出问题啦
你说你每次到QCMDEXC的时候出错,本来这个API是用在RPG里面执行CL命令的,我怀疑是不是含有STRCMTCTL命令包含在里面
另外你就把program编译下,看到底用了几个STRCMTCTL
作者: lpc002000    时间: 2010-07-15 23:40
回复 2# gto1101


    我的程序中调用QCMDEXC就是在RPG里面执行strcmtctl启动commitment control的。另外,我strcmtctl时已经指定cmtscope(*job),应该每个不同的job的commitment control不会相互影响的吧?而且我上面描述的bug不是每次都会出现,上线后三四个月之前出现了一次,今天是第二次出现。
作者: fxf_china    时间: 2010-07-16 08:53
我推测你的程序异常退出时没有endcmtctl,重新启动是就会出现错误

我们的程序在CL里strcmtctl,带有错误捕捉,会屏蔽掉CPF8351     Commitment control already active.
作者: lpc002000    时间: 2010-07-16 12:29
回复 4# fxf_china


    多谢你的回复,不过我的程序里面在strcmtctl和endcmtctl之间确实没有异常退出的情况,而且每一个分支都确保有endctmtctl语句的调用。。
作者: lpc002000    时间: 2010-07-16 12:31
我推测你的程序异常退出时没有endcmtctl,重新启动是就会出现错误

我们的程序在CL里strcmtctl,带有错误捕 ...
fxf_china 发表于 2010-07-16 08:53



    还有别的可能性吗?多谢了!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2