Index: /trunk/Ohana/src/opihi/lib.shell/gprint.c
===================================================================
--- /trunk/Ohana/src/opihi/lib.shell/gprint.c	(revision 17068)
+++ /trunk/Ohana/src/opihi/lib.shell/gprint.c	(revision 17069)
@@ -152,7 +152,12 @@
 }
 
+static pthread_mutex_t set_file_mutex = PTHREAD_MUTEX_INITIALIZER;
+
 void gprintSetFileAllThreads (gpDest dest, char *filename) {
 
   int i;
+
+  /* need to use a mutex to prevent two threads from initing simultaneously */
+  pthread_mutex_lock (&set_file_mutex);
 
   for (i = 0; i < Nstreams; i++) {
@@ -160,4 +165,6 @@
     gprintSetFile (&streams[i], dest, filename);
   }
+
+  pthread_mutex_unlock (&set_file_mutex);
   return;
 }
@@ -168,5 +175,10 @@
   stream = gprintGetStream (dest);
 
+  /* need to use a mutex to prevent two threads from initing simultaneously */
+  pthread_mutex_lock (&set_file_mutex);
+
   gprintSetFile (stream, dest, filename);
+
+  pthread_mutex_unlock (&set_file_mutex);
   return;
 }
