return errors properly in comedi_mark_buffer_read() and
comedi_mark_buffer_written()
This commit is contained in:
parent
4f670c0248
commit
58a2e315df
1 changed files with 12 additions and 4 deletions
16
lib/buffer.c
16
lib/buffer.c
|
@ -84,8 +84,12 @@ int _comedi_mark_buffer_read(comedi_t *it, unsigned int subdev, unsigned int byt
|
|||
bi.subdevice = subdev;
|
||||
bi.bytes_read = bytes;
|
||||
ret = comedi_ioctl(it->fd, COMEDI_BUFINFO, (unsigned long)&bi);
|
||||
__comedi_errno = errno;
|
||||
if(__comedi_errno == EPIPE)__comedi_errno = EBUF_OVR;
|
||||
if(ret < 0)
|
||||
{
|
||||
__comedi_errno = errno;
|
||||
if(__comedi_errno == EPIPE)__comedi_errno = EBUF_OVR;
|
||||
return ret;
|
||||
}
|
||||
return bi.buf_write_count - bi.buf_read_count;
|
||||
}
|
||||
|
||||
|
@ -99,8 +103,12 @@ int _comedi_mark_buffer_written(comedi_t *it, unsigned int subdev, unsigned int
|
|||
bi.subdevice = subdev;
|
||||
bi.bytes_written = bytes;
|
||||
ret = comedi_ioctl(it->fd, COMEDI_BUFINFO, (unsigned long)&bi);
|
||||
__comedi_errno = errno;
|
||||
if(__comedi_errno == EPIPE)__comedi_errno = EBUF_UNDR;
|
||||
if(ret < 0)
|
||||
{
|
||||
__comedi_errno = errno;
|
||||
if(__comedi_errno == EPIPE)__comedi_errno = EBUF_UNDR;
|
||||
return ret;
|
||||
}
|
||||
return bi.buf_write_count - bi.buf_read_count;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue