Langsung ke konten

Arsip

Timekeeping

1 artikel
Linux 22 Sep 2026 4 min read

TFD_TIMER_CANCEL_ON_SET Melaporkan Perubahan Diskontinu Clock Realtime

timerfd yang dipasang terhadap wall clock dapat mengalami perubahan clock diskontinu sebelum deadline tercapai. Dengan TFD_TIMER_CANCEL_ON_SET, Linux mengekspos kejadian itu melalui descriptor: read() berikutnya gagal dengan ECANCELED, bukan menyajikan lompatan clock sebagai expiration timer biasa. Cakupan flag ini sengaja sempit. Efeknya berlaku ketika timerfd_settime() memasang timer absolut pada CLOCK_REALTIME atau CLOCK_REALTIME_ALARM, lalu clock tersebut mengalami perubahan diskontinu. Cancellation terikat pada timer realtime absolut timerfd_create() memilih clock yang menjadi basis timer. Descriptor dengan CLOCK_REALTIME mengikuti system wall clock, sedangkan CLOCK_MONOTONIC mengikuti clock yang tidak disetel melalui perubahan wall clock.