ETIME
Linux / POSIXERRORNotableIPCHIGH confidence

Timer Expired

Production Risk

Indicates a slow or unresponsive STREAMS device.

What this means

ETIME (errno 62) is returned when a STREAMS timer expires before the operation completes. Also used by some ioctl operations with timeouts.

Why it happens
  1. 1STREAMS ioctl with ic_timout set expires before completion
  2. 2ioctl_tty TIOCGRS485 timeout
  3. 3Some driver-specific timeout operations
How to reproduce

STREAMS I_STR ioctl with timeout that expires.

trigger — this will error
trigger — this will error
struct strioctl ioc = {
  .ic_cmd = MY_CMD, .ic_timout = 5,  // 5 second timeout
  .ic_len = sizeof(arg), .ic_dp = &arg
};
ioctl(fd, I_STR, &ioc);
// Returns -1, errno = ETIME if it times out

expected output

ioctl: Timer expired (ETIME)

Fix

Increase the timeout or handle retry

WHEN When STREAMS ioctl times out

Increase the timeout or handle retry
// Increase timeout (seconds, 0 = wait indefinitely)
ioc.ic_timout = 30;
// Or set to -1 for blocking with no timeout
ioc.ic_timout = -1;

Why this works

ic_timout = -1 blocks indefinitely; ic_timout = 0 uses the driver default.

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