TMXR: Give priority to pending transfer delays prior to considering queued data
This commit is contained in:
parent
58ccb38d7b
commit
67b0f38242
1 changed files with 4 additions and 4 deletions
|
@ -4198,11 +4198,11 @@ for (i=0; i<mp->lines; i++) {
|
||||||
if ((tmxr_tqln(lp)) && /* pending output data */
|
if ((tmxr_tqln(lp)) && /* pending output data */
|
||||||
(lp->txnexttime < sim_gtime_now))/* that can be transmitted now? */
|
(lp->txnexttime < sim_gtime_now))/* that can be transmitted now? */
|
||||||
tmxr_send_buffered_data (lp);/* flush it */
|
tmxr_send_buffered_data (lp);/* flush it */
|
||||||
if (tmxr_tqln(lp) == 0) /* no pending output data */
|
|
||||||
due = interval; /* No rush */
|
|
||||||
else {
|
|
||||||
if (lp->txnexttime > sim_gtime_now)
|
if (lp->txnexttime > sim_gtime_now)
|
||||||
due = (int32)(lp->txnexttime - sim_gtime_now);
|
due = (int32)(lp->txnexttime - sim_gtime_now);
|
||||||
|
else {
|
||||||
|
if (tmxr_tqln(lp) == 0) /* no pending output data */
|
||||||
|
due = interval; /* No rush */
|
||||||
else
|
else
|
||||||
due = sim_processing_event ? 1 : 0; /* avoid potential infinite loop if called from service routine */
|
due = sim_processing_event ? 1 : 0; /* avoid potential infinite loop if called from service routine */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue