projects
/
umurmur.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add own test cert and key since there seem to be a problem with the ones in 0.14.2
[umurmur.git]
/
src
/
log.c
diff --git
a/src/log.c
b/src/log.c
index 39b9cf9e48bc3f8fcc0bf943735d9ce2c798bcfd..1b801a8e216ff9a812c1dabc220364d5d55a42cf 100644
(file)
--- a/
src/log.c
+++ b/
src/log.c
@@
-53,10
+53,14
@@
static void openlogfile(const char *logfilename)
Log_fatal("Failed to open log file '%s' for writing: %s\n", logfilename, strerror(errno));
}
Log_fatal("Failed to open log file '%s' for writing: %s\n", logfilename, strerror(errno));
}
+ /* Set the stream as line buffered */
+ if (setvbuf(logfile, NULL, _IOLBF, 0) < 0)
+ Log_fatal("setvbuf() failed: %s\n", strerror(errno));
+
/* XXX - Is it neccessary/appropriate that logging to file is non-blocking?
* If not, there's a risk that execution blocks, meaning that voice blocks
* as well since uMurmur is single threaded by design. OTOH, what could
/* XXX - Is it neccessary/appropriate that logging to file is non-blocking?
* If not, there's a risk that execution blocks, meaning that voice blocks
* as well since uMurmur is single threaded by design. OTOH, what could
- * cause a block? If the disk causes blocking, it is probably br0ken
.
but
+ * cause a block? If the disk causes blocking, it is probably br0ken
,
but
* the log could be on a nfs or smb share, so let's set it up as
* non-blocking and we'll see what happens.
*/
* the log could be on a nfs or smb share, so let's set it up as
* non-blocking and we'll see what happens.
*/
@@
-148,10
+152,8
@@
void Log_info(const char *logstring, ...)
va_end(argp);
if (termprint)
fprintf(stderr, "%s\n", buf);
va_end(argp);
if (termprint)
fprintf(stderr, "%s\n", buf);
- else if (logfile)
{
+ else if (logfile)
fprintf(logfile, "%s\n", buf);
fprintf(logfile, "%s\n", buf);
- fflush(logfile);
- }
else
syslog(LOG_INFO, "%s", buf);
}
else
syslog(LOG_INFO, "%s", buf);
}
@@
-212,11
+214,13
@@
void Log_fatal(const char *logstring, ...)
fprintf(stderr, "%s\n", buf);
else if (logfile)
fprintf(logfile, "%s\n", buf);
fprintf(stderr, "%s\n", buf);
else if (logfile)
fprintf(logfile, "%s\n", buf);
- else { /* If logging subsystem is not initialized, fall back to s
yslog logging
- *
for fatal errors. Only config file reading that needs this currently.
+ else { /* If logging subsystem is not initialized, fall back to s
tderr +
+ *
syslog logging for fatal errors.
*/
*/
- if (!init)
+ if (!init)
{
openlog("uMurmurd", LOG_PID, LOG_DAEMON);
openlog("uMurmurd", LOG_PID, LOG_DAEMON);
+ fprintf(stderr, "%s\n", buf);
+ }
syslog(LOG_CRIT, "%s", buf);
}
syslog(LOG_CRIT, "%s", buf);
}