msc: Make TC_lu_and_mo_call_sccp_tiar_timeout() more reliable

There is a race condition when shutting down, as a DLCX might arrive
while we are half-shutdown.  Expect both DLCX before terminating
the ConnHdlr.

Change-Id: Ia0342a9bb346929e0e538f4cb571abfc4acac6bf
This commit is contained in:
Harald Welte 2020-08-19 08:57:33 +02:00 committed by laforge
parent f1c3c21ef4
commit 4a3fa71d9d
1 changed files with 4 additions and 1 deletions

View File

@ -702,12 +702,15 @@ friend function f_lu_and_mo_call_sccp_tiar_timeout(charstring id, BSC_ConnHdlrPa
T_wait_iar.stop T_wait_iar.stop
setverdict(pass); setverdict(pass);
} }
[] MGCP.receive(tr_DLCX(?)) { repeat; }
[] T_wait_iar.timeout { [] T_wait_iar.timeout {
setverdict(fail, "Timeout waiting for T(iar) triggered SCCP RSLD"); setverdict(fail, "Timeout waiting for T(iar) triggered SCCP RSLD");
mtc.stop; mtc.stop;
} }
} }
/* DLCX for both directions; if we don't do this, we might receive either of the two during
* shutdown causing race conditions */
MGCP.receive(tr_DLCX(?));
MGCP.receive(tr_DLCX(?));
setverdict(pass); setverdict(pass);
} }