hg: jdk7/tl/jdk: 3 new changesets

Alan Bateman Alan.Bateman at oracle.com
Tue Feb 22 14:18:22 UTC 2011


Too many balls in the air, looks like I created the change-set for 
7020888 while have another patch in my working copy. This means the 
change included changes to several java.io classes that should have been 
there. Nothing wrong with the change, they fix long standing issues that 
were touched on here recently, but they involve behavior changes and are 
not reviewed. Chris - I need anti-delta 5 files, can you review?


diff --git a/src/share/classes/java/io/BufferedReader.java 
b/src/share/classes/java/io/BufferedReader.java
--- a/src/share/classes/java/io/BufferedReader.java
+++ b/src/share/classes/java/io/BufferedReader.java
@@ -512,14 +512,11 @@ public class BufferedReader extends Read
 
     public void close() throws IOException {
         synchronized (lock) {
-            if (in != null) {
-                try {
-                    in.close();
-                } finally {
-                    in = null;
-                    cb = null;
-                }
-            }
+            if (in == null)
+                return;
+            in.close();
+            in = null;
+            cb = null;
         }
     }
 }
diff --git a/src/share/classes/java/io/BufferedWriter.java 
b/src/share/classes/java/io/BufferedWriter.java
--- a/src/share/classes/java/io/BufferedWriter.java
+++ b/src/share/classes/java/io/BufferedWriter.java
@@ -255,16 +255,17 @@ public class BufferedWriter extends Writ
         }
     }
 
-    @SuppressWarnings("try")
     public void close() throws IOException {
         synchronized (lock) {
-            if (out != null) {
-                try (Writer w = out) {
-                    flushBuffer();
-                } finally {
-                    out = null;
-                    cb = null;
-                }
+            if (out == null) {
+                return;
+            }
+            try {
+                flushBuffer();
+            } finally {
+                out.close();
+                out = null;
+                cb = null;
             }
         }
     }
diff --git a/src/share/classes/java/io/FilterOutputStream.java 
b/src/share/classes/java/io/FilterOutputStream.java
--- a/src/share/classes/java/io/FilterOutputStream.java
+++ b/src/share/classes/java/io/FilterOutputStream.java
@@ -152,10 +152,11 @@ class FilterOutputStream extends OutputS
      * @see        java.io.FilterOutputStream#flush()
      * @see        java.io.FilterOutputStream#out
      */
-    @SuppressWarnings("try")
     public void close() throws IOException {
-        try (OutputStream ostream = out) {
-            flush();
+        try {
+          flush();
+        } catch (IOException ignored) {
         }
+        out.close();
     }
 }
diff --git a/src/share/classes/java/io/PushbackInputStream.java 
b/src/share/classes/java/io/PushbackInputStream.java
--- a/src/share/classes/java/io/PushbackInputStream.java
+++ b/src/share/classes/java/io/PushbackInputStream.java
@@ -374,13 +374,10 @@ class PushbackInputStream extends Filter
      * @exception  IOException  if an I/O error occurs.
      */
     public synchronized void close() throws IOException {
-        if (in != null) {
-            try {
-                in.close();
-            } finally {
-                in = null;
-                buf = null;
-            }
-        }
+        if (in == null)
+            return;
+        in.close();
+        in = null;
+        buf = null;
     }
 }
diff --git a/src/share/classes/java/io/PushbackReader.java 
b/src/share/classes/java/io/PushbackReader.java
--- a/src/share/classes/java/io/PushbackReader.java
+++ b/src/share/classes/java/io/PushbackReader.java
@@ -245,11 +245,8 @@ public class PushbackReader extends Filt
      * @exception  IOException  If an I/O error occurs
      */
     public void close() throws IOException {
-        try {
-            super.close();
-        } finally {
-            buf = null;
-        }
+        super.close();
+        buf = null;
     }
 
     /**
diff --git a/test/java/lang/ProcessBuilder/Basic.java 
b/test/java/lang/ProcessBuilder/Basic.java
--- a/test/java/lang/ProcessBuilder/Basic.java
+++ b/test/java/lang/ProcessBuilder/Basic.java
@@ -1762,9 +1762,9 @@ public class Basic {
 
             equal(p.exitValue(), 5);
 
-            try { p.getInputStream().close(); } catch (IOException 
ignore) { }
-            try  {p.getErrorStream().close(); } catch (IOException 
ignore) { }
-            try { p.getOutputStream().close(); } catch (IOException 
ignore) { }
+            p.getInputStream().close();
+            p.getErrorStream().close();
+            p.getOutputStream().close();
 
             InputStream[] streams = { p.getInputStream(), 
p.getErrorStream() };
             for (final InputStream in : streams) {




More information about the core-libs-dev mailing list