aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortradke <tradke@ebee0441-1374-4afa-a3b5-247f3ba15b9a>2001-08-26 12:33:31 +0000
committertradke <tradke@ebee0441-1374-4afa-a3b5-247f3ba15b9a>2001-08-26 12:33:31 +0000
commit70a30802ddfe00a09e4f56a7134791460d37df6b (patch)
treee7bfdc6b0679a9756d22a9298d96082f5fe5095d /src
parent26799f00854cb530ea70a1cbf1b081a745864614 (diff)
Create output directories on all I/O processors.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGHIO/IOFlexIO/trunk@218 ebee0441-1374-4afa-a3b5-247f3ba15b9a
Diffstat (limited to 'src')
-rw-r--r--src/Write3D.c43
1 files changed, 19 insertions, 24 deletions
diff --git a/src/Write3D.c b/src/Write3D.c
index dc48904..e13999b 100644
--- a/src/Write3D.c
+++ b/src/Write3D.c
@@ -282,7 +282,7 @@ static IEEEfile_3D_t *IOFlexIO_Get3Dfile (cGH *GH, const char *alias,
pGH *pughGH; /* handle for PUGH extensions */
flexioGH *myGH; /* handle for IOFlexIO extensions */
int nprocs;
- int myproc;
+ int myproc, result;
char extra [256]; /* Extra stuff in fname based on mode */
char extradir [256]; /* Extra stuff for an output dir */
char *outputdir; /* the output directory to be created */
@@ -337,31 +337,26 @@ static IEEEfile_3D_t *IOFlexIO_Get3Dfile (cGH *GH, const char *alias,
sprintf (extra, "%s.file_%d", extra, myproc / ioUtilGH->ioproc_every);
/* If necessary create the output directory */
- if (myproc == 0)
+ outputdir = (char *) malloc (strlen (myGH->outdir3D) +
+ strlen (alias) + 5);
+ sprintf (outputdir, "%s/%s_3d", myGH->outdir3D, alias);
+
+ result = IOUtil_CreateDirectory (GH, outputdir,
+ ! CCTK_Equals (out3D_mode, "onefile"),
+ ioUtilGH->ioproc);
+ if (result < 0)
{
- int result;
-
- outputdir = (char *) malloc (strlen (myGH->outdir3D) +
- strlen (alias) + 5);
- sprintf (outputdir, "%s/%s_3d", myGH->outdir3D, alias);
-
- result = IOUtil_CreateDirectory (GH, outputdir,
- ! CCTK_Equals (out3D_mode, "onefile"),
- ioUtilGH->ioproc);
- if (result < 0)
- {
- CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING,
- "Problem creating 3D output directory '%s'", outputdir);
- }
- else if (result > 0 && CCTK_Equals (newverbose, "full"))
- {
- CCTK_VInfo (CCTK_THORNSTRING,
- "3D output directory '%s' already exists", outputdir);
- }
-
- free (outputdir);
+ CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING,
+ "Problem creating 3D output directory '%s'", outputdir);
}
-
+ else if (result > 0 && CCTK_Equals (newverbose, "full"))
+ {
+ CCTK_VInfo (CCTK_THORNSTRING,
+ "3D output directory '%s' already exists", outputdir);
+ }
+
+ free (outputdir);
+
#ifdef CCTK_MPI
/* Wait for all processors to catch up */
CCTK_Barrier (GH);