Index: /trunk/psModules/src/config/pmConfig.c
===================================================================
--- /trunk/psModules/src/config/pmConfig.c	(revision 11395)
+++ /trunk/psModules/src/config/pmConfig.c	(revision 11396)
@@ -4,6 +4,6 @@
  *  @author EAM (IfA)
  *
- *  @version $Revision: 1.75 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-01-26 00:21:11 $
+ *  @version $Revision: 1.76 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-01-30 00:05:16 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -22,4 +22,5 @@
 #include <sys/types.h>
 #include <sys/stat.h>
+#include <fcntl.h>
 #include <glob.h>
 #include <pslib.h>
@@ -1070,4 +1071,19 @@
         newName = tmpName;
 
+        // open the to create it if it doesn't exist.  This could cause a
+        // strange looking error if we can't access the file.
+        // XXX perhaps we should try access() first? -JH
+        int fd = open(newName, O_RDONLY|O_CREAT);
+        if (fd < 0) {
+            psError(PS_ERR_IO, true, "unable to open() file %s", newName);
+            psFree(newName);
+            return NULL;
+        }
+        if (close(fd) < 0) {
+            psError(PS_ERR_IO, true, "unable to open() file %s", newName);
+            psFree(newName);
+            return NULL;
+        }
+
         return newName;
     }
@@ -1113,4 +1129,19 @@
         newName = tmpName;
 
+        // open the to create it if it doesn't exist.  This could cause a
+        // strange looking error if we can't access the file.
+        // XXX perhaps we should try access() first? -JH
+        int fd = open(newName, O_RDONLY|O_CREAT);
+        if (fd < 0) {
+            psError(PS_ERR_IO, true, "unable to open() file %s", newName);
+            psFree(newName);
+            return NULL;
+        }
+        if (close(fd) < 0) {
+            psError(PS_ERR_IO, true, "unable to open() file %s", newName);
+            psFree(newName);
+            return NULL;
+        }
+
         return newName;
     }
