On Linux 2.6.0, the read() in the following code does not block when the buffer is empty. char data[1026]; int fd = open("/dev/iio:device0", O_RDONLY); size_t count = read(fd, data, 1026); count is 0. Data pushed to the buffer with iio_push_to_buffers() does read correctly (after a trigger). What might I be missing? -Dennis