]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR java/14315 ([3.4 only]: Java compiler is not parallel make safe)
authorTom Tromey <tromey@redhat.com>
Tue, 23 Mar 2004 17:54:02 +0000 (17:54 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Tue, 23 Mar 2004 17:54:02 +0000 (17:54 +0000)
PR java/14315:
* jcf-write.c (make_class_file_name): Don't report if mkdir
failed with EEXIST.

From-SVN: r79868

gcc/java/ChangeLog
gcc/java/jcf-write.c

index 712bcf68323dc7458cce03f147f06cea0010be01..833d494c832290b27fa87d049b9af629d9be532b 100644 (file)
@@ -1,3 +1,9 @@
+2004-03-23  Tom Tromey  <tromey@redhat.com>
+
+       PR java/14315:
+       * jcf-write.c (make_class_file_name): Don't report if mkdir
+       failed with EEXIST.
+
 2004-03-23  Tom Tromey  <tromey@redhat.com>
 
        * gcj.texi (Extensions): Document GCJ_PROPERTIES.
index dbc34c6d8fcaf5fdb50779f169df86496722dcca..9492396bc872a8cf25357510072264ba3b1e14d2 100644 (file)
@@ -1,5 +1,5 @@
 /* Write out a Java(TM) class file.
-   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004
    Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -3392,9 +3392,11 @@ make_class_file_name (tree clas)
       if (s == NULL)
        break;
       *s = '\0';
+      /* Try to make directory if it doesn't already exist.  */
       if (stat (r, &sb) == -1
-         /* Try to make it.  */
-         && mkdir (r, 0755) == -1)
+         && mkdir (r, 0755) == -1
+         /* The directory might have been made by another process.  */
+         && errno != EEXIST)
        fatal_error ("can't create directory %s: %m", r);
 
       *s = sep;