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.