Procházet zdrojové kódy

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

yangcheng %!s(int64=7) %!d(string=před) roky
rodič
revize
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ární
FsLink/Release/FsLink.tlog/FsLink.write.1u.tlog


binární
FsLink/Release/OperationReactor.obj


binární
FsLink/Release/vc141.pdb


binární
Release/FsLink.dll


binární
Release/FsLink.pdb