diff options
author | tradke <tradke@ebee0441-1374-4afa-a3b5-247f3ba15b9a> | 2001-08-26 12:33:31 +0000 |
---|---|---|
committer | tradke <tradke@ebee0441-1374-4afa-a3b5-247f3ba15b9a> | 2001-08-26 12:33:31 +0000 |
commit | 70a30802ddfe00a09e4f56a7134791460d37df6b (patch) | |
tree | e7bfdc6b0679a9756d22a9298d96082f5fe5095d /src | |
parent | 26799f00854cb530ea70a1cbf1b081a745864614 (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.c | 43 |
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); |