69611d27e4eead4e6efcc45c2047c2d9d46c0a8f
hiram
  Mon Jun 20 11:54:04 2011 -0700
flush stderr when priting monitor messages
diff --git src/hg/lib/jksql.c src/hg/lib/jksql.c
index be10b8a..652cb49 100644
--- src/hg/lib/jksql.c
+++ src/hg/lib/jksql.c
@@ -379,56 +379,59 @@
 return deltaTime;
 }
 
 static char *scConnDb(struct sqlConnection *sc)
 /* Return sc->conn->db, unless it is NULL -- if NULL, return a string for
  * fprint'd messages. */
 {
 return (sc->conn->db ? sc->conn->db : "db=?");
 }
 
 static void monitorPrintInfo(struct sqlConnection *sc, char *name)
 /* print a monitor message, with connection id and databases. */
 {
 fprintf(stderr, "%.*s%s %ld %s\n", traceIndent, indentStr, name,
         sc->conn->thread_id, scConnDb(sc));
+fflush(stderr);
 }
 
 static void monitorPrint(struct sqlConnection *sc, char *name,
                          char *format, ...)
 /* print a monitor message, with connection id, databases, and
  * printf style message.*/
 {
 va_list args;
 fprintf(stderr, "%.*s%s %ld %s ", traceIndent, indentStr, name,
         sc->conn->thread_id, scConnDb(sc));
 va_start(args, format);
 vfprintf(stderr, format, args);
 va_end(args);
 fputc('\n', stderr);
+fflush(stderr);
 }
 
 static void monitorPrintTime(void)
 /* print total time */
 {
 /* only print if not explictly disabled */
 if (monitorFlags & JKSQL_PROF)
     {
     fprintf(stderr, "%.*sSQL_TOTAL_TIME %0.3fs\n", traceIndent, indentStr,
             ((double)sqlTotalTime)/1000.0);
     fprintf(stderr, "%.*sSQL_TOTAL_QUERIES %ld\n", traceIndent, indentStr,
             sqlTotalQueries);
+    fflush(stderr);
     }
 }
 
 static void monitorPrintQuery(struct sqlConnection *sc, char *query)
 /* print a query, replacing newlines with \n */
 {
 char *cleaned = replaceChars(query, "\n", "\\n");
 monitorPrint(sc, "SQL_QUERY", "%s", cleaned);
 freeMem(cleaned);
 }
 
 void sqlMonitorEnable(unsigned flags)
 /* Enable disable tracing or profiling of SQL queries.
  * If JKSQL_TRACE is specified, then tracing of each SQL query is enabled,
  * along with the timing of the queries.