浏览代码

防止对线路重复执行挂机操作

yangcheng 7 年之前
父节点
当前提交
b1f8605d92
共有 6 个文件被更改,包括 9 次插入1 次删除
  1. 9 1
      FsLink/OperationReactor.cpp
  2. 二进制
      FsLink/Release/FsLink.tlog/FsLink.write.1u.tlog
  3. 二进制
      FsLink/Release/OperationReactor.obj
  4. 二进制
      FsLink/Release/vc141.pdb
  5. 二进制
      Release/FsLink.dll
  6. 二进制
      Release/FsLink.pdb

+ 9 - 1
FsLink/OperationReactor.cpp

@@ -200,8 +200,16 @@ bool COperationReactor::__procOpHangUp( LONG Instance, ULONG ResID, LineOpParam*
200 200
 
201 201
 
202 202
 	// 如果线路正在执行其它操作
203
-	if(pChan->currOp() != NULL) 
203
+	if (pChan->currOp() != NULL)
204
+	{
205
+		if (pChan->currOp()->type() == LINE_OP_HANG_UP)
206
+		{
207
+			LOGGER(LOG_LEVEL_NORMAL, _T("{OperationReactor}: 当前线路正在执行挂机"));
208
+			return false; // 使任务删除
209
+		}
210
+		LOGGER(LOG_LEVEL_NORMAL, _T("{OperationReactor}: 执行挂机, 当前线路绑定操作, Operation = %d"), pChan->currOp()->type());
204 211
 		return pChan->currOp()->hangup(Instance);
212
+	}
205 213
 		
206 214
 	if (pChan->state() == CHAN_LOGIC_STATE_FREE || pChan->state() == CHAN_LOGIC_STATE_DISABLED)
207 215
 	{

二进制
FsLink/Release/FsLink.tlog/FsLink.write.1u.tlog


二进制
FsLink/Release/OperationReactor.obj


二进制
FsLink/Release/vc141.pdb


二进制
Release/FsLink.dll


二进制
Release/FsLink.pdb