Mercurial > hg > graal-jvmci-8
diff src/os/linux/vm/os_linux.cpp @ 2033:03e1b9fce89d
7003707: need to remove (some) system include files from the HotSpot header files
Summary: move socket_available into os_linux.cpp to avoid inclusion of ioctl.h in os_linux.inline.hpp
Reviewed-by: coleenp, stefank, ikrylov
author | dholmes |
---|---|
date | Thu, 16 Dec 2010 20:57:03 -0500 |
parents | 54f5dd2aa1d9 |
children | 06f017f7daa7 34d64ad817f4 |
line wrap: on
line diff
--- a/src/os/linux/vm/os_linux.cpp Thu Dec 16 12:56:51 2010 -0800 +++ b/src/os/linux/vm/os_linux.cpp Thu Dec 16 20:57:03 2010 -0500 @@ -115,6 +115,7 @@ # include <link.h> # include <stdint.h> # include <inttypes.h> +# include <sys/ioctl.h> #define MAX_PATH (2 * K) @@ -4433,6 +4434,15 @@ return 1; } +int os::socket_available(int fd, jint *pbytes) { + // Linux doc says EINTR not returned, unlike Solaris + int ret = ::ioctl(fd, FIONREAD, pbytes); + + //%% note ioctl can return 0 when successful, JVM_SocketAvailable + // is expected to return 0 on failure and 1 on success to the jdk. + return (ret < 0) ? 0 : 1; +} + // Map a block of memory. char* os::map_memory(int fd, const char* file_name, size_t file_offset, char *addr, size_t bytes, bool read_only,