PR bin/51253

Nikolay Pavlov temp at roks.biz
Tue Nov 11 00:44:13 PST 2003


NP> Hi, folks.

NP>    Syslogd dies on my FreeBSD 4.9 box after reconfiguration that enables remote logging.
NP>    I have looked in mail archives and found PR bin/51253 that describes a problem.
NP>    I am not especial programmer, but that solve the problem:

   
NP> --- syslogd.c.old       Tue May 20 20:13:53 2003
NP> +++ syslogd.c   Fri Nov  7 12:10:44 2003
NP> @@ -1072,7 +1072,6 @@
NP>                                 switch (errno) {
NP>                                 case EHOSTUNREACH:
NP>                                 case EHOSTDOWN:
NP> -                                       break;
NP>                                 /* case EBADF: */
NP>                                 /* case EACCES: */
NP>                                 /* case ENOTSOCK: */   

NP> Thanks, Nikolay.

Sorry, wrong way. Correct and tested this code:

--- syslogd.c.orig      Tue May 20 20:13:53 2003
+++ syslogd.c   Mon Nov 10 09:46:54 2003
@@ -1069,24 +1069,9 @@
                                int e = errno;
                                logerror("sendto");
                                errno = e;
-                               switch (errno) {
-                               case EHOSTUNREACH:
-                               case EHOSTDOWN:
-                                       break;
-                               /* case EBADF: */
-                               /* case EACCES: */
-                               /* case ENOTSOCK: */
-                               /* case EFAULT: */
-                               /* case EMSGSIZE: */
-                               /* case EAGAIN: */
-                               /* case ENOBUFS: */
-                               /* case ECONNREFUSED: */
-                               default:
-                                       dprintf("removing entry\n", e);
-                                       (void)close(f->f_file);
-                                       f->f_type = F_UNUSED;
-                                       break;
-                               }
+                               dprintf("removing entry\n", e);
+                               (void)close(f->f_file);
+                               f->f_type = F_UNUSED;
                        }
                }
                break;

Thanks, Nikolay.



More information about the freebsd-stable mailing list