diff options
-rw-r--r-- | BUGS | 14 | ||||
-rw-r--r-- | syslogd.c | 27 |
2 files changed, 32 insertions, 9 deletions
@@ -40,6 +40,20 @@ BUILDING WITH MYSQL and such. Building with MySQL is currently not as straightforward as it should be ;) +CALLS to exit() + I have removed all calls to exit() I have introduced. However, there are + still some left from the original code. Most of them are OK, being done + on initial startup when a severe error happens. There are some, I think, + that might happen during runtime when a memory shortag is detected. We + should look into this issues. Finding some smarter code would allow + rsyslog to become even more fault-tolerant (but obviously, there is always + a cost, in this case most probably the loss of at least on message). + +SIGPIPE HANDLING + Currently, SIGPIPE is ignored. This is necessary to handle broken TCP + connections. We should further look into this issue and see which other + ways exist to handle the situation. + Updates to the bug lists (and potential fixes...) can be found at the official home page at @@ -1,18 +1,15 @@ /** * TODO: - * - INET_SUSPEND_TIME reset (contains debug value!) * - check template lines for extra characters and provide * a warning, if they exists - * - check that no exit() is used! * - implement the escape-cc property replacer option * - it looks liek the time stamp is missing on internally-generated * messages - but maybe we need to keep this for compatibility * reasons. * - selector line for MySQL aborts if no template is given and * also no semicolon is present at the end of the line - * - check how to handle SIGPIPE correctly (TCP sender) * - * \brief This is the maint file of the rsyslogd daemon. + * \brief This is the main file of the rsyslogd daemon. * * Please note that as of now, a lot of the code in this file stems * from the sysklogd project. To learn more over this project, please @@ -25,7 +22,7 @@ * * Please note that I made quite some changes to the orignal package. * I expect to do even more changes - up - * to a full rewrite - to meat my design goals, which among others + * to a full rewrite - to meet my design goals, which among others * contain a (at least) dual-thread design with a memory buffer for * storing received bursts of data. This is also the reason why I * kind of "forked" a completely new branch of the package. My intension @@ -473,9 +470,20 @@ int repeatinterval[] = { 30, 60 }; /* # of secs before flush */ (f)->f_repeatcount = MAXREPEAT; \ } #ifdef SYSLOG_INET -//#define INET_SUSPEND_TIME 180 /* equal to 3 minutes */ -#define INET_SUSPEND_TIME 4 /* equal to 3 minutes */ -#define INET_RETRY_MAX 10 /* maximum of retries for gethostbyname() */ +#define INET_SUSPEND_TIME 60 /* equal to 1 minute + * rgerhards, 2005-07-26: This was 3 minutes. As the + * same timer is used for tcp based syslog, we have + * reduced it. However, it might actually be worth + * thinking about a buffered tcp sender, which would be + * a much better alternative. When that happens, this + * time here can be re-adjusted to 3 minutes (or, + * even better, made configurable). + */ +#define INET_RETRY_MAX 30 /* maximum of retries for gethostbyname() */ + /* was 10, changed to 30 because we reduced INET_SUSPEND_TIME by one third. So + * this "fixes" some of implications of it (see comment on INET_SUSPEND_TIME). + * rgerhards, 2005-07-26 + */ #endif #define LIST_DELIMITER ':' /* delimiter between two hosts */ @@ -2397,7 +2405,8 @@ int main(argc, argv) if ( Debug ) { dprintf("Debugging disabled, SIGUSR1 to turn on debugging.\n"); - /* TODO-BEFORERELEASE: remove before final debugging_on = 0;*/ + /* DEBUG-AID: comment out line below if you need that */ + debugging_on = 0; } /* * Send a signal to the parent to it can terminate. |