Anda dapat menggunakan fcntl() sebagai alternatif untuk flock().
flock()
umumnya async-signal-safe karena ini adalah panggilan sistem. Semantiknya membuat sulit untuk mengimplementasikannya secara berbeda. Itu tidak ada dalam daftar fungsi async-signal-safe POSIX karena sama sekali tidak ada dalam POSIX.
Anda mungkin tidak memerlukan buka kunci eksplisit karena flock()
kunci dilepaskan secara otomatis ketika semua deskriptor file yang mengacu pada deskripsi file terbuka ditutup.
printf()
dan fprintf()
panggilan harus diganti dengan write()
yang sesuai panggilan. Fungsi stdio tidak ada dalam daftar fungsi async-signal-safe dan seringkali sangat async-signal-unsafe.
abort()
panggilan mungkin paling baik diganti dengan menyetel sinyal ke tindakan default dan mengirimkannya kembali ke diri sendiri; dengan cara ini, shell tahu bahwa program Anda keluar karena sinyal dan dapat membatalkan urutan perintah bila perlu.