+Tue Jul 3 11:39:20 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * Found the reason of random crashes in the server. We weren't
+ ignoring the SIGPIPE signal (which can be sent in write())
+ and it crashed the server. Affected file silcd/silcd.c.
+
Fri Jun 29 20:05:25 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
* Assure that sock->user_data is not NULL in the function
int opt, option_index;
char *config_file = NULL;
SilcServer silcd;
+ struct sigaction sa;
silc_debug = FALSE;
if (ret == FALSE)
goto fail;
+ /* Ignore SIGPIPE */
+ sa.sa_handler = SIG_IGN;
+ sa.sa_flags = 0;
+ sigemptyset(&sa.sa_mask);
+ sigaction(SIGPIPE, &sa, NULL);
+
if (silc_debug == FALSE)
/* Before running the server, fork to background and set
both user and group no non-root */