}
err = TEMP_FAILURE_RETRY(write(pair->trace,
- pair->mmap + (consumed_old & (~(pair->subbuf_size-1))),
+ pair->mmap
+ + (consumed_old & ((pair->n_subbufs * pair->subbuf_size)-1)),
pair->subbuf_size));
if(err < 0) {
ret = -EFAULT;
} else if(errno == -EIO) {
perror("Reader has been pushed by the writer, last subbuffer corrupted.");
+ /* FIXME : we may delete the last written buffer if we wish. */
ret = -EIO;
}
goto get_error;