io_tryreadtimeout(3) read from a descriptor without blocking


#include <io.h>

int io_tryreadtimeout(int64 fd,char* buf,int64 len);


io_tryreadtimeout is identical to io_tryread, with the following exception: if

  • io_tryread returns -1 (the descriptor is not ready for reading), and
  • the descriptor has a timeout, and
  • the read attempt was after the descriptor's timeout,

then io_tryreadtimeout instead returns -2, with errno set to ETIMEDOUT.