changeset 17765:91dc38ae09f3

8033464: Linux code cleanup 8033931: Several nightly tests failing with assert(imin < imax) failed: Unexpected page size Summary: cleaned up warnings in linux specific os code. Reviewed-by: dcubed, hseigel, coleenp, dsamersoff Contributed-by: gerald.thornbrugh@oracle.com
author dcubed
date Mon, 24 Mar 2014 13:36:32 -0700
parents 6e7e363c5a8f
children a007d73f3fdc
files src/os/linux/vm/os_linux.cpp src/os/linux/vm/perfMemory_linux.cpp
diffstat 2 files changed, 15 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/os/linux/vm/os_linux.cpp	Mon Mar 24 09:14:14 2014 -0700
+++ b/src/os/linux/vm/os_linux.cpp	Mon Mar 24 13:36:32 2014 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -3014,7 +3014,9 @@
 
   unsigned char vec[1];
   unsigned imin = 1, imax = pages + 1, imid;
-  int mincore_return_value;
+  int mincore_return_value = 0;
+
+  assert(imin <= imax, "Unexpected page size");
 
   while (imin < imax) {
     imid = (imax + imin) / 2;
--- a/src/os/linux/vm/perfMemory_linux.cpp	Mon Mar 24 09:14:14 2014 -0700
+++ b/src/os/linux/vm/perfMemory_linux.cpp	Mon Mar 24 13:36:32 2014 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -891,8 +891,16 @@
   FREE_C_HEAP_ARRAY(char, filename, mtInternal);
 
   // open the shared memory file for the give vmid
-  fd = open_sharedmem_file(rfilename, file_flags, CHECK);
-  assert(fd != OS_ERR, "unexpected value");
+  fd = open_sharedmem_file(rfilename, file_flags, THREAD);
+
+  if (fd == OS_ERR) {
+    return;
+  }
+
+  if (HAS_PENDING_EXCEPTION) {
+    ::close(fd);
+    return;
+  }
 
   if (*sizep == 0) {
     size = sharedmem_filesize(fd, CHECK);