Site icon EfmSoft

What does errno 119 (ENAVAIL) mean?

 
Could be also:
ConstantTypeOS
ERROR_BAD_DRIVER_LEVELWin32 errorWindows
ENOBUFSerrnoWindows
KERNEL_STACK_INPAGE_ERRORBugCheck CodeWindows
Previous Next
ENETUNREACH ENOBUFS

ENAVAIL

ENAVAIL: Linux legacy errno

ENAVAIL (errno 3) reports that the XENIX compatibility semaphore pool has no semaphore available for the request. These names come from historical System V/XENIX compatibility interfaces; on modern Linux they usually point to a driver, STREAMS-compatibility layer, or legacy IPC contract rather than a general filesystem error.

Evidence to capture

Record semaphore pool limits, current allocations, owner processes, and allocation call. Save errno immediately after the failing call, together with its return value, because later library or logging calls can overwrite thread-local error state.

Focused test

release a known completed semaphore allocation and repeat the same request without changing other limits. Keep the process, device/endpoint and deployed driver version fixed so the comparison changes only the suspected boundary.

Correction

fix leaked ownership or increase the supported pool capacity when exhaustion is legitimate. If the interface is provided by a compatibility driver, verify its documented ABI and object lifetime instead of assuming that a numerically similar errno from another UNIX has the same contract.

Verification

Repeat the original system call and confirm it passes the former ENAVAIL boundary with the same object identity. If another errno appears, preserve it as a separate result from the next failing operation.

Technical references


Looking for a different code? Search another status or error code.

Exit mobile version