What does errno 119 (ENOBUFS) mean?

 
Could be also:
ConstantTypeOS
ERROR_BAD_DRIVER_LEVELWin32 errorWindows
ENAVAILerrnoLinux
KERNEL_STACK_INPAGE_ERRORBugCheck CodeWindows
Previous Next
ENAVAIL EISNAM

ENOBUFS

ENOBUFS is a resource-pressure signal from the buffering layer. It does not necessarily mean the application's own allocation failed. Socket send queues, kernel transport buffers, provider resources, and a burst of outstanding work can all be the limiting layer.

In native Winsock code, retrieve WSAENOBUFS via WSAGetLastError(). The response depends on the socket type and I/O model. For nonblocking stream sends, partial completion is normal when buffer space is limited; a queued asynchronous operation has separate completion semantics. Avoid treating both cases as one generic memory error.

Measure pressure before tuning

  • Record requested and completed byte counts, number of queued sends, per-connection queue depth, global memory pressure, and socket mode.
  • Apply backpressure to producers rather than increasing queue sizes without a bound; unbounded buffering moves failure to a later and less observable point.
  • Use readiness or completion signals to resume sending and keep partial-write accounting exact.
  • Compare the failure rate across connections and interfaces. A single slow peer and a system-wide buffer shortage require different remedies.

References


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