Patch by Felipe Kellermann, fix a bug introduced in the last patch by adding a condition around the remote logging, also adds some comments.

This commit is contained in:
Glenn L McGrath 2004-09-14 18:12:13 +00:00
parent d4004ee6a9
commit 73ebb889da

View File

@ -432,24 +432,30 @@ static void logMessage(int pri, char *msg)
/* todo: supress duplicates */
#ifdef CONFIG_FEATURE_REMOTE_LOG
/* send message to remote logger */
if (-1 == remotefd) {
init_RemoteLog();
}
if (doRemoteLog == TRUE) {
/* trying connect the socket */
if (-1 == remotefd) {
init_RemoteLog();
}
if (-1 != remotefd) {
now = 1;
snprintf(line, sizeof(line), "<%d> %s", pri, msg);
/* if we have a valid socket, send the message */
if (-1 != remotefd) {
now = 1;
snprintf(line, sizeof(line), "<%d> %s", pri, msg);
retry:
if(( -1 == sendto(remotefd, line, strlen(line), 0,
(struct sockaddr *) &remoteaddr,
sizeof(remoteaddr))) && (errno == EINTR)) {
sleep(now);
now *= 2;
goto retry;
retry:
/* send message to remote logger */
if(( -1 == sendto(remotefd, line, strlen(line), 0,
(struct sockaddr *) &remoteaddr,
sizeof(remoteaddr))) && (errno == EINTR)) {
/* sleep now seconds and retry (with now * 2) */
sleep(now);
now *= 2;
goto retry;
}
}
}
if (local_logging == TRUE)
#endif
{