This is the mail archive of the java-patches@sources.redhat.com mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Patch: FileDeleter fix and warning cleanups


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]