From 986dc4e5c484406ad0024de79feb8905602542b4 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 23 Mar 2004 17:54:02 +0000 Subject: [PATCH] re PR java/14315 ([3.4 only]: Java compiler is not parallel make safe) PR java/14315: * jcf-write.c (make_class_file_name): Don't report if mkdir failed with EEXIST. From-SVN: r79868 --- gcc/java/ChangeLog | 6 ++++++ gcc/java/jcf-write.c | 8 +++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 712bcf68323..833d494c832 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2004-03-23 Tom Tromey + + PR java/14315: + * jcf-write.c (make_class_file_name): Don't report if mkdir + failed with EEXIST. + 2004-03-23 Tom Tromey * gcj.texi (Extensions): Document GCJ_PROPERTIES. diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c index dbc34c6d8fc..9492396bc87 100644 --- a/gcc/java/jcf-write.c +++ b/gcc/java/jcf-write.c @@ -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; -- 2.30.2