Quellcode durchsuchen

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

yangcheng vor 7 Jahren
Ursprung
Commit
b1f8605d92

+ 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
 	{

BIN
FsLink/Release/FsLink.tlog/FsLink.write.1u.tlog


BIN
FsLink/Release/OperationReactor.obj


BIN
FsLink/Release/vc141.pdb


BIN
Release/FsLink.dll


BIN
Release/FsLink.pdb