<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Software Engineering on Nalar</title>
    <link>https://nalar.dev/id/tags/software-engineering/</link>
    <description>Recent content in Software Engineering on Nalar</description>
    <generator>Hugo</generator>
    <language>id-id</language>
    <lastBuildDate>Thu, 17 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://nalar.dev/id/tags/software-engineering/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Linux eventfd Membuat Status Counter Dapat Dipantau</title>
      <link>https://nalar.dev/id/linux-eventfd-membuat-status-counter-dapat-dipantau/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/linux-eventfd-membuat-status-counter-dapat-dipantau/</guid>
      <description>&lt;p&gt;Linux eventfd dapat menggabungkan banyak notifikasi ke dalam satu counter yang dikelola kernel sambil tetap dapat digunakan dengan &lt;code&gt;poll()&lt;/code&gt;, &lt;code&gt;select()&lt;/code&gt;, dan &lt;code&gt;epoll&lt;/code&gt;. Writer menambahkan nilai unsigned 64-bit ke counter; readiness menyatakan apakah status tersebut dapat dikonsumsi. Interface ini membawa status aritmetika, bukan byte stream atau antrean pesan individual.&lt;/p&gt;&#xA;&lt;p&gt;Perbedaan tersebut penting pada batas proses dan thread. Sebuah wakeup menyatakan bahwa counter bukan nol. Wakeup itu tidak mempertahankan jumlah operasi write, identitas writer, atau urutan di antara sumber notifikasi yang terpisah.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux signalfd Mengubah Sinyal Pending Menjadi Status Readable</title>
      <link>https://nalar.dev/id/linux-signalfd-mengubah-sinyal-pending-menjadi-status-readable/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/linux-signalfd-mengubah-sinyal-pending-menjadi-status-readable/</guid>
      <description>&lt;p&gt;Proses Linux dapat memblokir sinyal tertentu lalu menerimanya dengan membaca file descriptor alih-alih menjalankan handler asinkron. &lt;code&gt;signalfd()&lt;/code&gt; membuat sinyal pending tersebut terlihat melalui antarmuka readiness yang sama dengan socket, pipe, dan descriptor lain, termasuk &lt;code&gt;poll()&lt;/code&gt; dan &lt;code&gt;epoll&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;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.&lt;/p&gt;&#xA;&lt;h2 id=&#34;descriptor-mengamati-sinyal-pending-dari-himpunan-tertentu&#34;&gt;Descriptor mengamati sinyal pending dari himpunan tertentu&lt;/h2&gt;&#xA;&lt;p&gt;signalfd baru dibuat dengan sebuah himpunan sinyal:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Read pada Linux timerfd Melaporkan Akumulasi Expiration</title>
      <link>https://nalar.dev/id/read-linux-timerfd-melaporkan-akumulasi-expiration/</link>
      <pubDate>Thu, 17 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://nalar.dev/id/read-linux-timerfd-melaporkan-akumulasi-expiration/</guid>
      <description>&lt;p&gt;timerfd periodik pada Linux dapat mengalami beberapa expiration sebelum event loop membacanya. &lt;code&gt;read()&lt;/code&gt; berikutnya yang berhasil tidak mengembalikan satu record untuk setiap wakeup. Operasi itu mengembalikan satu &lt;code&gt;uint64_t&lt;/code&gt; dalam byte order host yang berisi jumlah expiration yang terakumulasi sejak timer terakhir di-arm atau sejak read berhasil sebelumnya.&lt;/p&gt;&#xA;&lt;p&gt;Count tersebut menjadikan readiness timerfd sebagai notifikasi bahwa status timer dapat dikonsumsi, bukan pemetaan satu-ke-satu antara wakeup scheduler dan periode timer.&lt;/p&gt;&#xA;&lt;h2 id=&#34;read-mengonsumsi-count-expiration-yang-terakumulasi&#34;&gt;Read mengonsumsi count expiration yang terakumulasi&lt;/h2&gt;&#xA;&lt;p&gt;timerfd yang dibuat dengan &lt;code&gt;timerfd_create()&lt;/code&gt; merepresentasikan satu timer kernel melalui file descriptor. &lt;code&gt;timerfd_settime()&lt;/code&gt; menetapkan expiration awal pada &lt;code&gt;it_value&lt;/code&gt; dan, untuk timer periodik, &lt;code&gt;it_interval&lt;/code&gt; yang bukan nol.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
