<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Epoll on Nalar</title>
    <link>https://nalar.dev/tags/epoll/</link>
    <description>Recent content in Epoll on Nalar</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 16 Sep 2026 00:00:00 +0700</lastBuildDate>
    <atom:link href="https://nalar.dev/tags/epoll/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>epoll Edge-Triggered Readiness Requires Draining</title>
      <link>https://nalar.dev/epoll-edge-triggered-readiness-requires-draining/</link>
      <pubDate>Wed, 16 Sep 2026 00:00:00 +0700</pubDate>
      <guid>https://nalar.dev/epoll-edge-triggered-readiness-requires-draining/</guid>
      <description>&lt;p&gt;An edge-triggered &lt;code&gt;epoll&lt;/code&gt; consumer can block while unread data is still buffered. The failure appears when an event is consumed, only part of the available input is read, and the event loop returns to &lt;code&gt;epoll_wait()&lt;/code&gt; expecting another notification for the bytes that remain.&lt;/p&gt;&#xA;&lt;p&gt;This behavior follows directly from &lt;code&gt;EPOLLET&lt;/code&gt;. Edge-triggered notification reports changes in readiness rather than continuously reporting a ready condition. Once a readiness transition has produced an event, leaving the file descriptor ready does not itself create a new transition.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
