changeset 1028:9fa8b6276b31

6772303: (se) IOException: Invalid argument" thrown on a call to Selector.select(value) with -d64 Reviewed-by: sherman
author alanb
date Fri, 27 Mar 2009 16:04:05 +0000
parents 7264cacbddaa
children ff0a9e50f033
files src/solaris/native/sun/nio/ch/DevPollArrayWrapper.c
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/solaris/native/sun/nio/ch/DevPollArrayWrapper.c	Fri Mar 27 15:24:37 2009 +0000
+++ b/src/solaris/native/sun/nio/ch/DevPollArrayWrapper.c	Fri Mar 27 16:04:05 2009 +0000
@@ -28,6 +28,7 @@
 #include "jvm.h"
 #include "jlong.h"
 #include "sun_nio_ch_DevPollArrayWrapper.h"
+#include "java_lang_Integer.h"
 #include <sys/poll.h>
 #include <sys/resource.h>
 #include <unistd.h>
@@ -192,7 +193,11 @@
         JNU_ThrowIOExceptionWithLastError(env,
                                           "getrlimit failed");
     }
-    return (jint)rlp.rlim_max;
+    if (rlp.rlim_max < 0 || rlp.rlim_max > java_lang_Integer_MAX_VALUE) {
+        return java_lang_Integer_MAX_VALUE;
+    } else {
+        return (jint)rlp.rlim_max;
+    }
 }
 
 JNIEXPORT void JNICALL