src/share/classes/java/io/RandomAccessFile.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 1994, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 2011, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
@@ -588,13 +588,20 @@
/*
* Decrement FD use count associated with this stream.
* The count got incremented by FileDescriptor during its construction.
*/
- fd.decrementAndGetUseCount();
+ int useCount = fd.decrementAndGetUseCount();
+
+ /*
+ * If FileDescriptor is still in use by another stream, we
+ * will not close it.
+ */
+ if (useCount <= 0) {
close0();
}
+ }
//
// Some "reading/writing Java data types" methods stolen from
// DataInputStream and DataOutputStream.
//