EXFULL
Linux / POSIXERRORNotableDeviceHIGH confidence

Exchange Full

Production Risk

Rare; indicates STREAMS driver saturation.

What this means

EXFULL (errno 54) is a Linux-specific error returned when the exchange table in a STREAMS driver is full.

Why it happens
  1. 1Too many pending exchanges in a STREAMS driver
How to reproduce

STREAMS driver exchange table exhaustion.

trigger — this will error
trigger — this will error
// errno = EXFULL when STREAMS exchange table is full

expected output

Exchange full (EXFULL)

Fix

Wait for pending exchanges to complete

WHEN When exchange table is full

Wait for pending exchanges to complete
// Drain pending operations before submitting more
// Use poll/select to wait for readiness
struct pollfd pfd = { .fd = fd, .events = POLLOUT };
poll(&pfd, 1, 1000);

Why this works

Waiting for existing exchanges to complete frees slots in the exchange table.

Sources
Official documentation ↗

Linux Programmer Manual errno(3)

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All Linux / POSIX errors