BUG/MINOR, BUG/MINOR: lua: Put tasks to sleep when waiting for data

If a lua socket is waiting for data it currently spins at 100% cpu usage.
This because the TICK_ETERNITY returned by the socket is ignored when
setting the 'expire' time of the task.

Fixed by removing the check for yields that return TICK_ETERNITY.

This should be backported to at least 1.8.
This commit is contained in:
PiBa-NL 2018-05-02 22:27:14 +02:00 committed by Willy Tarreau
parent 148b16e1ce
commit fe971b35ae
1 changed files with 1 additions and 2 deletions

View File

@ -5552,8 +5552,7 @@ static struct task *hlua_process_task(struct task *task)
case HLUA_E_AGAIN: /* co process or timeout wake me later. */
notification_gc(&hlua->com);
if (hlua->wake_time != TICK_ETERNITY)
task->expire = hlua->wake_time;
task->expire = hlua->wake_time;
break;
/* finished with error. */