Rekayasa Perangkat Lunak
17 Sep 2026
5 min read
Linux signalfd Mengubah Sinyal Pending Menjadi Status Readable
Proses Linux dapat memblokir sinyal tertentu lalu menerimanya dengan membaca file descriptor alih-alih menjalankan handler asinkron. signalfd() membuat sinyal pending tersebut terlihat melalui antarmuka readiness yang sama dengan socket, pipe, dan descriptor lain, termasuk poll() dan epoll. Konversi ini bukan pengganti signal masking. Descriptor memiliki himpunan sinyal sendiri, sementara setiap thread tetap memiliki signal mask yang mengendalikan delivery biasa. Desain yang konsisten bergantung pada keselarasan kedua status tersebut. Descriptor mengamati sinyal pending dari himpunan tertentu signalfd baru dibuat dengan sebuah himpunan sinyal: