From 5ba1c48589e855ab3143242de0eafe2890589969 Mon Sep 17 00:00:00 2001 From: orwell Date: Wed, 29 Jan 2025 22:17:31 +0100 Subject: Try to narrow down heisenbug with endless loop --- advtrains_interlocking/train_sections.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'advtrains_interlocking') diff --git a/advtrains_interlocking/train_sections.lua b/advtrains_interlocking/train_sections.lua index 0420463..a1ee87f 100644 --- a/advtrains_interlocking/train_sections.lua +++ b/advtrains_interlocking/train_sections.lua @@ -157,13 +157,13 @@ advtrains.tnc_register_on_enter(function(pos, id, train, index) if tcb and train.path_cp[index] and train.path_cn[index] then -- forward conn local connid = train.path_cn[index] - local ts = tcb[connid].ts_id and ildb.get_ts(tcb[connid].ts_id) + local ts = tcb[connid] and tcb[connid].ts_id and ildb.get_ts(tcb[connid].ts_id) if ts then setsection(id, train, tcb[connid].ts_id, ts, {p=pos, s=connid}) end -- backward conn (safety only) connid = train.path_cp[index] - ts = tcb[connid].ts_id and ildb.get_ts(tcb[connid].ts_id) + ts = tcb[connid] and tcb[connid].ts_id and ildb.get_ts(tcb[connid].ts_id) if ts then setsection(id, train, tcb[connid].ts_id, ts, {p=pos, s=connid}, true) end @@ -177,7 +177,7 @@ advtrains.tnc_register_on_leave(function(pos, id, train, index) if tcb and train.path_cp[index] then -- backward conn local connid = train.path_cp[index] - local ts = tcb[connid].ts_id and ildb.get_ts(tcb[connid].ts_id) + local ts = tcb[connid] and tcb[connid].ts_id and ildb.get_ts(tcb[connid].ts_id) if ts then freesection(id, train, tcb[connid].ts_id, ts) end -- cgit v1.2.3