rktio: repairs for SOME_FDS_ARE_NOT_SELECTABLE
... as set for Solaris, but no idea whether it's still needed there.
This commit is contained in:
parent
7fe2c1cadf
commit
38a5e7aacd
|
@ -504,7 +504,7 @@ static int try_get_fd_char(int fd, int *ready)
|
||||||
} else {
|
} else {
|
||||||
*ready = 1;
|
*ready = 1;
|
||||||
if (!c)
|
if (!c)
|
||||||
return EOF;
|
return RKTIO_READ_EOF;
|
||||||
else
|
else
|
||||||
return buf[0];
|
return buf[0];
|
||||||
}
|
}
|
||||||
|
@ -552,13 +552,12 @@ int rktio_poll_read_ready(rktio_t *rktio, rktio_fd_t *rfd)
|
||||||
|
|
||||||
# ifdef SOME_FDS_ARE_NOT_SELECTABLE
|
# ifdef SOME_FDS_ARE_NOT_SELECTABLE
|
||||||
/* Try a non-blocking read: */
|
/* Try a non-blocking read: */
|
||||||
if (!r && !(rfd->modes & RKTIO_OPEN_SOCKET) && !rfd->textmode) {
|
if (!r && !(rfd->modes & RKTIO_OPEN_SOCKET)) {
|
||||||
int c, ready;
|
int c, ready;
|
||||||
|
|
||||||
c = try_get_fd_char(rfd->fd, &ready);
|
c = try_get_fd_char(rfd->fd, &ready);
|
||||||
if (ready) {
|
if (ready) {
|
||||||
if (c != EOF) {
|
if (c != RKTIO_READ_EOF) {
|
||||||
rfd->buffpos = 0;
|
|
||||||
rfd->buffer[0] = (unsigned char)c;
|
rfd->buffer[0] = (unsigned char)c;
|
||||||
rfd->bufcount = 1;
|
rfd->bufcount = 1;
|
||||||
}
|
}
|
||||||
|
@ -884,7 +883,7 @@ RKTIO_EXTERN intptr_t rktio_buffered_byte_count(rktio_t *rktio, rktio_fd_t *fd)
|
||||||
{
|
{
|
||||||
#ifdef RKTIO_SYSTEM_UNIX
|
#ifdef RKTIO_SYSTEM_UNIX
|
||||||
# ifdef SOME_FDS_ARE_NOT_SELECTABLE
|
# ifdef SOME_FDS_ARE_NOT_SELECTABLE
|
||||||
return rfd->bufcount;
|
return fd->bufcount;
|
||||||
# else
|
# else
|
||||||
return 0;
|
return 0;
|
||||||
# endif
|
# endif
|
||||||
|
|
Loading…
Reference in New Issue
Block a user