diff options
author | acoul <acoul@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-08-15 09:53:21 +0000 |
---|---|---|
committer | acoul <acoul@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-08-15 09:53:21 +0000 |
commit | 59736eb773c43dc39b9b6ba410a0b615a7c28993 (patch) | |
tree | 508b8e2f890ed4a41dbb4f770997f5ddb8f83d7e /package/busybox/patches/610-syslog-remote-retry-connection.patch | |
parent | ef0f04cf2591d7c9ca2cc2d3ba1bcb291e3d4d1f (diff) |
package/busybox: update to busybox-1.7.1, include upstream patches
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22659 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/busybox/patches/610-syslog-remote-retry-connection.patch')
-rw-r--r-- | package/busybox/patches/610-syslog-remote-retry-connection.patch | 57 |
1 files changed, 32 insertions, 25 deletions
diff --git a/package/busybox/patches/610-syslog-remote-retry-connection.patch b/package/busybox/patches/610-syslog-remote-retry-connection.patch index 5602e2b51d..949ac9fd47 100644 --- a/package/busybox/patches/610-syslog-remote-retry-connection.patch +++ b/package/busybox/patches/610-syslog-remote-retry-connection.patch @@ -1,40 +1,47 @@ -Index: busybox-1.16.1/sysklogd/syslogd.c -=================================================================== ---- busybox-1.16.1.orig/sysklogd/syslogd.c 2010-03-28 13:44:04.000000000 -0400 -+++ busybox-1.16.1/sysklogd/syslogd.c 2010-06-17 21:48:11.000000000 -0400 -@@ -555,6 +555,7 @@ +--- a/sysklogd/syslogd.c ++++ b/sysklogd/syslogd.c +@@ -98,6 +98,8 @@ struct globals { + GLOBALS + + #if ENABLE_FEATURE_REMOTE_LOG ++ len_and_sockaddr *remoteAddr; ++ int remoteFD; + llist_t *remoteHosts; + #endif + #if ENABLE_FEATURE_IPC_SYSLOG +@@ -554,6 +556,7 @@ static void do_syslogd(void) NORETURN; static void do_syslogd(void) { int sock_fd; + int send_err = 0; - #if ENABLE_FEATURE_SYSLOGD_DUP - int last_sz = -1; - char *last_buf; -@@ -632,10 +633,23 @@ - * over network, mimic that */ - recvbuf[sz] = '\n'; - /* send message to remote logger, ignore possible error */ + #if ENABLE_FEATURE_REMOTE_LOG + llist_t *item; + #endif +@@ -637,10 +640,23 @@ static void do_syslogd(void) + continue; + } + /* Send message to remote logger, ignore possible error */ - /* TODO: on some errors, close and set G.remoteFD to -1 - * so that DNS resolution and connect is retried? */ -- sendto(G.remoteFD, recvbuf, sz+1, MSG_DONTWAIT, -- &G.remoteAddr->u.sa, G.remoteAddr->len); -+ if ( sendto(G.remoteFD, recvbuf, sz+1, MSG_DONTWAIT, -+ &G.remoteAddr->u.sa, G.remoteAddr->len) == -1 ) { +- sendto(rh->remoteFD, recvbuf, sz+1, MSG_DONTWAIT, +- &(rh->remoteAddr->u.sa), rh->remoteAddr->len); ++ if (sendto(rh->remoteFD, recvbuf, sz+1, MSG_DONTWAIT, ++ &G.remoteAddr->u.sa, G.remoteAddr->len) == -1 ) { + send_err = errno; -+ } ++ } + + /* On some errors, close and set G.remoteFD to -1 + * so that DNS resolution and connect is retried */ -+ switch (send_err) { -+ case ECONNRESET: -+ case EDESTADDRREQ: -+ case EISCONN: -+ case ENOTCONN: -+ case EPIPE: ++ switch (send_err) { ++ case ECONNRESET: ++ case EDESTADDRREQ: ++ case EISCONN: ++ case ENOTCONN: ++ case EPIPE: + close(G.remoteFD); + G.remoteFD = -1; + break; -+ } - no_luck: ; ++ } } #endif + if (!ENABLE_FEATURE_REMOTE_LOG || (option_mask32 & OPT_locallog)) { |