This is the mail archive of the
java-patches@sources.redhat.com
mailing list for the Java project.
Patch: FileDeleter fix and warning cleanups
- To: java-patches at sourceware dot cygnus dot com
- Subject: Patch: FileDeleter fix and warning cleanups
- From: Bryce McKinlay <bryce at albatross dot co dot nz>
- Date: Tue, 05 Sep 2000 23:06:35 +1200
This patch fixes a crash-on-exit for any program that didn't call FileDeleter.add(). It
also removes a few compiler warnings by removing some dead code blocks and unused
locals, and #undef'ing a previous definition of `__P' which is found in glibc's headers
causing a warning.
I'm checking this in.
regards
[ bryce ]
2000-09-05 Bryce McKinlay <bryce@albatross.co.nz>
* gnu/gcj/convert/natIconv.cc (read): Remove unused local.
(write): Ditto.
* gnu/gcj/runtime/FileDeleter.java (deleteOnExitNow): Check for null
stack. Synchronize.
* java/lang/fdlibm.h: #undef __P if previously defined.
* java/lang/natSystem.cc (currentTimeMillis): Remove unused local.
* java/net/natPlainDatagramSocketImpl.cc (send): Remove unreachable
block.
(mcastGrp): Ditto.
Index: libjava/gnu/gcj/convert/natIconv.cc
===================================================================
RCS file: /cvs/java/libgcj/libjava/gnu/gcj/convert/natIconv.cc,v
retrieving revision 1.5
diff -u -r1.5 natIconv.cc
--- natIconv.cc 2000/06/16 01:11:12 1.5
+++ natIconv.cc 2000/09/05 10:54:55
@@ -70,8 +70,6 @@
jint outpos, jint count)
{
#ifdef HAVE_ICONV
- jint origpos = outpos;
-
jbyte *bytes = elements (inbuffer);
jchar *out = elements (outbuffer);
size_t inavail = inlength - inpos;
@@ -131,8 +129,6 @@
jint inpos, jint count)
{
#ifdef HAVE_ICONV
- jint origpos = inpos;
-
jchar *chars = elements (inbuffer);
jbyte *out = elements (buf);
Index: libjava/gnu/gcj/runtime/FileDeleter.java
===================================================================
RCS file: /cvs/java/libgcj/libjava/gnu/gcj/runtime/FileDeleter.java,v
retrieving revision 1.1
diff -u -r1.1 FileDeleter.java
--- FileDeleter.java 2000/09/04 16:55:48 1.1
+++ FileDeleter.java 2000/09/05 10:54:55
@@ -23,16 +23,13 @@
// Helper method called by java.lang.Runtime.exit() to perform
// pending deletions.
- public static void deleteOnExitNow ()
+ public synchronized static void deleteOnExitNow ()
{
- while (!deleteOnExitStack.empty ())
- ((File)(deleteOnExitStack.pop ())).delete ();
+ if (deleteOnExitStack != null)
+ while (!deleteOnExitStack.empty ())
+ ((File)(deleteOnExitStack.pop ())).delete ();
}
// A stack of files to delete upon normal termination.
private static Stack deleteOnExitStack;
}
-
-
-
-
Index: libjava/java/lang/fdlibm.h
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/lang/fdlibm.h,v
retrieving revision 1.3
diff -u -r1.3 fdlibm.h
--- fdlibm.h 2000/01/10 20:02:47 1.3
+++ fdlibm.h 2000/09/05 10:54:56
@@ -23,6 +23,10 @@
/* CYGNUS LOCAL: Default to XOPEN_MODE. */
#define _XOPEN_MODE
+#ifdef __P
+#undef __P
+#endif
+
#ifdef __STDC__
#define __P(p) p
#else
Index: libjava/java/lang/natSystem.cc
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/lang/natSystem.cc,v
retrieving revision 1.25
diff -u -r1.25 natSystem.cc
--- natSystem.cc 2000/09/04 20:57:18 1.25
+++ natSystem.cc 2000/09/05 10:54:56
@@ -140,8 +140,6 @@
jlong
java::lang::System::currentTimeMillis (void)
{
- jlong r;
-
struct timeval tv;
_Jv_gettimeofday (&tv);
return (jlong) tv.tv_sec * 1000 + tv.tv_usec / 1000;
Index: libjava/java/net/natPlainDatagramSocketImpl.cc
===================================================================
RCS file: /cvs/java/libgcj/libjava/java/net/natPlainDatagramSocketImpl.cc,v
retrieving revision 1.21
diff -u -r1.21 natPlainDatagramSocketImpl.cc
--- natPlainDatagramSocketImpl.cc 2000/08/11 03:07:59 1.21
+++ natPlainDatagramSocketImpl.cc 2000/09/05 10:54:56
@@ -287,9 +287,6 @@
if (::sendto (fnum, (char *) dbytes, p->getLength(), 0, ptr, len) >= 0)
return;
- error:
- char* strerr = strerror (errno);
- JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
}
void
@@ -420,9 +417,6 @@
if (::setsockopt (fnum, level, opname, ptr, len) == 0)
return;
- error:
- char* strerr = strerror (errno);
- JvThrow (new java::io::IOException (JvNewStringUTF (strerr)));
}
void