Tag
file-descriptors
- Aug 26, 2026 Resource Exhaustion Faults: Memory, File Descriptors, and Inodes How memory pressure differs from allocation failure, why descriptor and inode exhaustion produce distinct error codes, and how control groups let a fault be applied without touching the host. devops
- Jul 29, 2026 Supervising Syscalls with Seccomp User Notification How a filter can suspend a syscall and hand the decision to another process, what the notification structure carries, and why descriptor injection avoids the race that memory inspection cannot. virtualization
- Jun 27, 2026 The Close-on-Exec Race and Why Descriptor Inheritance Is a Hazard How exec preserves every descriptor a process holds, why setting the flag after fork is too late, and what O_CLOEXEC closes that fcntl cannot. computing history
- Apr 24, 2026 Short Counts: Why read and write Return Less Than Asked A successful read or write may transfer fewer bytes than requested, and the reasons differ by object type. The cases differ by object type, and each needs a loop that distinguishes end-of-file, interruption, and a partial transfer. systems programming
- Mar 17, 2026 Readiness Notification and the Single-Threaded Event Loop How one thread watches thousands of file descriptors through epoll or kqueue, why edge-triggered notification forces handlers to drain until EAGAIN, and where the dispatch loop stalls. language runtimes
- Mar 13, 2026 Open File Descriptions and the Offsets They Share Three separate kernel objects stand behind a file descriptor, and knowing which one carries the offset explains dup, fork, append mode, and why two opens of one file disagree about position. filesystems
- Feb 28, 2026 The Three-Level Indirection Behind a Unix File Descriptor How a small integer reaches an inode through a per-process table and a shared open file description, and which operation copies which level. computing history
- Jun 6, 2025 Where a read() Syscall Spends Time Before It Reaches the Data The fixed work the kernel performs on every read, why cost per byte collapses as buffers shrink, and which interfaces amortise the transition. performance engineering
- Apr 1, 2025 What a File Descriptor Is: An Index Into a Process Table The descriptor is a small integer indexing a per-process array of pointers, and that indirection explains dup, fork, close, and the shared-offset bugs that follow from each. systems programming
- Mar 29, 2025 Escaping a Chroot Through Retained Directory Descriptors Why changing a process root does not confine a process that holds an open descriptor above it, how the classic escapes work, and what pivot_root and mount namespaces do differently. virtualization
- Nov 18, 2024 Readiness Notification: What select, poll, and epoll Actually Report All three interfaces answer the same question about whether an operation would block, but they differ in how much work the kernel does per call and in what a returned descriptor guarantees. systems programming
- Oct 24, 2024 fork and exec: Which Descriptors Survive and Why Between fork and exec a child inherits every open descriptor, and only a per-entry flag can prevent it. The inheritance rules, the leak they cause, and the atomicity problems that follow from closing descriptors after the fact. systems programming
- Jun 29, 2024 pidfd: A Process Handle That Cannot Be Reused A process id is recycled the moment a process is reaped, so any operation addressed by pid can hit an unrelated process. A pidfd refers to the process object itself and closes the race. systems programming
- Jan 11, 2024 File Descriptor Lifetime, Inheritance, and Table Exhaustion What a descriptor actually indexes, how the process and system tables share file descriptions, and why closing in the wrong process leaves the resource open. systems programming
- Jul 14, 2022 Unlink While Open and the Life of an Orphaned Inode Removing the last name does not free a file that is still open; how the link count and the description reference interact, and why deleted files keep consuming disk. filesystems