c4w: no need to flush on each debug message, just flush on errors/warnings.
Török Edvin authored on 2010/11/10 05:41:48... | ... |
@@ -80,7 +80,7 @@ pthread_mutex_t mdprintf_mutex = PTHREAD_MUTEX_INITIALIZER; |
80 | 80 |
|
81 | 81 |
FILE *logg_fp = NULL; |
82 | 82 |
|
83 |
-short int logg_verbose = 0, logg_nowarn = 0, logg_lock = 1, logg_time = 0, logg_foreground = 1; |
|
83 |
+short int logg_verbose = 0, logg_nowarn = 0, logg_lock = 1, logg_time = 0, logg_foreground = 1, logg_noflush = 0; |
|
84 | 84 |
unsigned int logg_size = 0; |
85 | 85 |
const char *logg_file = NULL; |
86 | 86 |
#if defined(USE_SYSLOG) && !defined(C_AIX) |
... | ... |
@@ -329,6 +329,7 @@ int logg(const char *str, ...) |
329 | 329 |
} |
330 | 330 |
|
331 | 331 |
if(logg_fp) { |
332 |
+ char flush = !logg_noflush; |
|
332 | 333 |
/* Need to avoid logging time for verbose messages when logverbose |
333 | 334 |
is not set or we get a bunch of timestamps in the log without |
334 | 335 |
newlines... */ |
... | ... |
@@ -343,9 +344,11 @@ int logg(const char *str, ...) |
343 | 343 |
|
344 | 344 |
if(*buff == '!') { |
345 | 345 |
fprintf(logg_fp, "ERROR: %s", buff + 1); |
346 |
+ flush = 1; |
|
346 | 347 |
} else if(*buff == '^') { |
347 | 348 |
if(!logg_nowarn) |
348 | 349 |
fprintf(logg_fp, "WARNING: %s", buff + 1); |
350 |
+ flush = 1; |
|
349 | 351 |
} else if(*buff == '*' || *buff == '$') { |
350 | 352 |
fprintf(logg_fp, "%s", buff + 1); |
351 | 353 |
} else if(*buff == '#' || *buff == '~') { |
... | ... |
@@ -353,7 +356,8 @@ int logg(const char *str, ...) |
353 | 353 |
} else |
354 | 354 |
fprintf(logg_fp, "%s", buff); |
355 | 355 |
|
356 |
- fflush(logg_fp); |
|
356 |
+ if (flush) |
|
357 |
+ fflush(logg_fp); |
|
357 | 358 |
} |
358 | 359 |
} |
359 | 360 |
|
... | ... |
@@ -40,7 +40,7 @@ int logg(const char *str, ...); |
40 | 40 |
#endif |
41 | 41 |
|
42 | 42 |
void logg_close(void); |
43 |
-extern short int logg_verbose, logg_nowarn, logg_lock, logg_time; |
|
43 |
+extern short int logg_verbose, logg_nowarn, logg_lock, logg_time, logg_noflush; |
|
44 | 44 |
extern unsigned int logg_size; |
45 | 45 |
extern const char *logg_file; |
46 | 46 |
|