Re: 6988037: fileClose prints debug message if close fails

2010-09-29 Thread Kevin Walls


Hi Alan,

That sounds familiar and looks good. (There has been some testing with 
such a change already 8-) )


Regards
Kevin

On 29/09/2010 13:25, Alan Bateman wrote:


I need a reviewer for a small change to remove a debug message that 
someone left when fixing a bug in the java.io implementation early in 
jdk7. The debug message is printed if closing a file fails (for 
example EIO because of a NFS stale handle).  That change also added 
code to restore the file descriptor field but this isn't needed 
because the stream classes have a closed flag to ensure that they only 
attempt to close the underlying file descriptor once. Furthermore, if 
close fails then the state of the file descriptor is unspecified and 
so cannot be used again. The proposed patch is attached.


Thanks,
Alan.

diff --git a/src/solaris/native/java/io/io_util_md.c 
b/src/solaris/native/java/io/io_util_md.c

--- a/src/solaris/native/java/io/io_util_md.c
+++ b/src/solaris/native/java/io/io_util_md.c
@@ -83,8 +83,6 @@ fileClose(JNIEnv *env, jobject this, jfi
close(devnull);
}
} else if (JVM_Close(fd) == -1) {
-SET_FD(this, fd, fid); // restore fd
-printf(JVM_Close returned -1\n);
-JNU_ThrowIOExceptionWithLastError(env, close failed);
+JNU_ThrowIOExceptionWithLastError(env, close failed);
}
}
diff --git a/src/windows/native/java/io/io_util_md.c 
b/src/windows/native/java/io/io_util_md.c

--- a/src/windows/native/java/io/io_util_md.c
+++ b/src/windows/native/java/io/io_util_md.c
@@ -531,7 +531,6 @@ handleClose(JNIEnv *env, jobject this, j
SET_FD(this, -1, fid);

if (CloseHandle(h) == 0) { /* Returns zero on failure */
-SET_FD(this, fd, fid); // restore fd
JNU_ThrowIOExceptionWithLastError(env, close failed);
}
return 0;





6988037: fileClose prints debug message if close fails

2010-09-29 Thread Alan Bateman


I need a reviewer for a small change to remove a debug message that 
someone left when fixing a bug in the java.io implementation early in 
jdk7. The debug message is printed if closing a file fails (for example 
EIO because of a NFS stale handle).  That change also added code to 
restore the file descriptor field but this isn't needed because the 
stream classes have a closed flag to ensure that they only attempt to 
close the underlying file descriptor once. Furthermore, if close fails 
then the state of the file descriptor is unspecified and so cannot be 
used again. The proposed patch is attached.


Thanks,
Alan.

diff --git a/src/solaris/native/java/io/io_util_md.c 
b/src/solaris/native/java/io/io_util_md.c

--- a/src/solaris/native/java/io/io_util_md.c
+++ b/src/solaris/native/java/io/io_util_md.c
@@ -83,8 +83,6 @@ fileClose(JNIEnv *env, jobject this, jfi
close(devnull);
}
} else if (JVM_Close(fd) == -1) {
-SET_FD(this, fd, fid); // restore fd
-printf(JVM_Close returned -1\n);
-JNU_ThrowIOExceptionWithLastError(env, close failed);
+JNU_ThrowIOExceptionWithLastError(env, close failed);
}
}
diff --git a/src/windows/native/java/io/io_util_md.c 
b/src/windows/native/java/io/io_util_md.c

--- a/src/windows/native/java/io/io_util_md.c
+++ b/src/windows/native/java/io/io_util_md.c
@@ -531,7 +531,6 @@ handleClose(JNIEnv *env, jobject this, j
SET_FD(this, -1, fid);

if (CloseHandle(h) == 0) { /* Returns zero on failure */
-SET_FD(this, fd, fid); // restore fd
JNU_ThrowIOExceptionWithLastError(env, close failed);
}
return 0;



Re: 6988037: fileClose prints debug message if close fails

2010-09-29 Thread Rémi Forax

Looks good.

Rémi

Le 29/09/2010 14:25, Alan Bateman a écrit :


I need a reviewer for a small change to remove a debug message that 
someone left when fixing a bug in the java.io implementation early in 
jdk7. The debug message is printed if closing a file fails (for 
example EIO because of a NFS stale handle).  That change also added 
code to restore the file descriptor field but this isn't needed 
because the stream classes have a closed flag to ensure that they only 
attempt to close the underlying file descriptor once. Furthermore, if 
close fails then the state of the file descriptor is unspecified and 
so cannot be used again. The proposed patch is attached.


Thanks,
Alan.

diff --git a/src/solaris/native/java/io/io_util_md.c 
b/src/solaris/native/java/io/io_util_md.c

--- a/src/solaris/native/java/io/io_util_md.c
+++ b/src/solaris/native/java/io/io_util_md.c
@@ -83,8 +83,6 @@ fileClose(JNIEnv *env, jobject this, jfi
close(devnull);
}
} else if (JVM_Close(fd) == -1) {
-SET_FD(this, fd, fid); // restore fd
-printf(JVM_Close returned -1\n);
-JNU_ThrowIOExceptionWithLastError(env, close failed);
+JNU_ThrowIOExceptionWithLastError(env, close failed);
}
}
diff --git a/src/windows/native/java/io/io_util_md.c 
b/src/windows/native/java/io/io_util_md.c

--- a/src/windows/native/java/io/io_util_md.c
+++ b/src/windows/native/java/io/io_util_md.c
@@ -531,7 +531,6 @@ handleClose(JNIEnv *env, jobject this, j
SET_FD(this, -1, fid);

if (CloseHandle(h) == 0) { /* Returns zero on failure */
-SET_FD(this, fd, fid); // restore fd
JNU_ThrowIOExceptionWithLastError(env, close failed);
}
return 0;