diff options
Diffstat (limited to 'lib/libkse/thread/thr_read.c')
-rw-r--r-- | lib/libkse/thread/thr_read.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libkse/thread/thr_read.c b/lib/libkse/thread/thr_read.c index 4d81414..067befa 100644 --- a/lib/libkse/thread/thr_read.c +++ b/lib/libkse/thread/thr_read.c @@ -57,7 +57,7 @@ _read(int fd, void *buf, size_t nbytes) /* Lock the file descriptor for read: */ if ((ret = _FD_LOCK(fd, FD_READ, NULL)) == 0) { /* Get the read/write mode type: */ - type = _thread_fd_table[fd]->flags & O_ACCMODE; + type = _thread_fd_getflags(fd) & O_ACCMODE; /* Check if the file is not open for read: */ if (type != O_RDONLY && type != O_RDWR) { @@ -69,7 +69,7 @@ _read(int fd, void *buf, size_t nbytes) /* Perform a non-blocking read syscall: */ while ((ret = __sys_read(fd, buf, nbytes)) < 0) { - if ((_thread_fd_table[fd]->flags & O_NONBLOCK) == 0 && + if ((_thread_fd_getflags(fd) & O_NONBLOCK) == 0 && (errno == EWOULDBLOCK || errno == EAGAIN)) { curthread->data.fd.fd = fd; _thread_kern_set_timeout(NULL); |