} else if (!libxl__ev_fd_isregistered(&dc->toread) ||
dc->bytes_to_read == 0) {
/* we have had eof */
- datacopier_callback(egc, dc, 0, dc->readbuf ? dc->used : 0);
+ datacopier_callback(egc, dc, 0, 0);
return;
} else {
/* nothing buffered, but still reading */
/* onwrite==1 means failure happened when writing, logged, errnoval is valid
* onwrite==0 means failure happened when reading
- * errnoval>=0 means we got eof and all data was written or number of bytes
- * written when in read mode
- * errnoval<0 means we had a read error, logged
+ * errnoval==0 means we got eof and all data was written
+ * errnoval!=0 means we had a read error, logged
* onwrite==-1 means some other internal failure, errnoval not valid, logged
* If we get POLLHUP, we call callback_pollhup(..., onwrite, -1);
* or if callback_pollhup==0 this is an internal failure, as above.