LINUX.ORG.RU

История изменений

Исправление eao197, (текущая версия) :

Но это же только код обработки событий, которые уже стоят в очереди. Как вы их туда добавляете?

Ну вот такая ситуация: в очереди событие на (t+10s), где t — это текущее время. Вы добавляете заявку на (t+2s). Если никто в этот момент не передернет event_, то проснетесь вы не через 2s, а через 10s. Т.к. предыдущий дедлайн, на котором вы спите в wait_until, — это 10s.

Исправление eao197, :

Но это же только код обработки событий, которые уже стоят в очереди. Как вы их туда добавляете?

Ну вот такая ситуация: в очереди событие на (t+10s), где t — это текущее время. Вы добавляете заявку на (t+2s). Если никто в этот момент не передернет event_t, то проснетесь вы не через 2s, а через 10s. Т.к. предыдущий дедлайн, на котором вы спите в wait_until, — это 10s.

Исходная версия eao197, :

Но это же только код обработки событий, которые уже стоят в очереди. Как вы их туда добавляете.

Ну вот такая ситуация: в очереди событие на (t+10s), где t — это текущее время. Вы добавляете заявку на (t+2s). Если никто в этот момент не передернет event_t, то проснетесь вы не через 2s, а через 10s. Т.к. предыдущий дедлайн, на котором вы спите в wait_until, — это 10s.