GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara membuat fungsi async-signal-safe?

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.


Linux
  1. Cara membuat Permalink WordPress berfungsi di Nginx

  2. Bagaimana Membuat Direktori Bersama Dapat Diakses Oleh Sftp?

  3. Bagaimana cara membuat dan menerapkan tambalan SVN?

  1. Bagaimana Cara Membuat Startx Menggunakan Xinitrc Alternatif?

  2. Cara membuat VPN

  3. Bagaimana cara membuat skrip sed ini lebih cepat?

  1. Cara Membuat CS:GO Server Di VPS Linux

  2. Bagaimana cara membuat file jarang?

  3. C++11:Bagaimana cara membuat alias suatu fungsi?