git-svn-id: file:///var/lib/svn/clamav-devel/trunk/clamav-devel@366 77e5149b-7576-45b1-b177-96237e5ba77b
Trog authored on 2004/03/02 21:58:04... | ... |
@@ -1,3 +1,7 @@ |
1 |
+Tue Mar 2 13:04:15 GMT 2004 (trog) |
|
2 |
+----------------------------------- |
|
3 |
+ * clamd: intercept but ignore SIGPIPE, FreeBSD barfs |
|
4 |
+ |
|
1 | 5 |
Tue Mar 2 09:35:39 CET 2004 (tk) |
2 | 6 |
--------------------------------- |
3 | 7 |
* clamd: removed x86 dazuko object files (thanks to Fajar A. Nugraha |
... | ... |
@@ -90,8 +90,6 @@ void scanner_thread(void *arg) |
90 | 90 |
|
91 | 91 |
void sighandler_th(int sig) |
92 | 92 |
{ |
93 |
- //time_t currtime; |
|
94 |
- |
|
95 | 93 |
switch(sig) { |
96 | 94 |
case SIGINT: |
97 | 95 |
case SIGTERM: |
... | ... |
@@ -106,6 +104,9 @@ void sighandler_th(int sig) |
106 | 106 |
case SIGHUP: |
107 | 107 |
sighup = 1; |
108 | 108 |
break; |
109 |
+ |
|
110 |
+ default: |
|
111 |
+ break; /* Take no action on other signals - e.g. SIGPIPE */ |
|
109 | 112 |
} |
110 | 113 |
} |
111 | 114 |
|
... | ... |
@@ -343,6 +344,7 @@ int acceptloop_th(int socketd, struct cl_node *root, const struct cfgstruct *cop |
343 | 343 |
sigdelset(&sigset, SIGTERM); |
344 | 344 |
sigdelset(&sigset, SIGSEGV); |
345 | 345 |
sigdelset(&sigset, SIGHUP); |
346 |
+ sigdelset(&sigset, SIGPIPE); |
|
346 | 347 |
sigprocmask(SIG_SETMASK, &sigset, NULL); |
347 | 348 |
|
348 | 349 |
/* SIGINT, SIGTERM, SIGSEGV */ |
... | ... |
@@ -351,14 +353,15 @@ int acceptloop_th(int socketd, struct cl_node *root, const struct cfgstruct *cop |
351 | 351 |
sigaddset(&sigact.sa_mask, SIGINT); |
352 | 352 |
sigaddset(&sigact.sa_mask, SIGTERM); |
353 | 353 |
sigaddset(&sigact.sa_mask, SIGHUP); |
354 |
+ sigaddset(&sigact.sa_mask, SIGPIPE); |
|
354 | 355 |
sigaction(SIGINT, &sigact, NULL); |
355 | 356 |
sigaction(SIGTERM, &sigact, NULL); |
356 |
- |
|
357 |
+ sigaction(SIGHUP, &sigact, NULL); |
|
358 |
+ sigaction(SIGPIPE, &sigact, NULL); |
|
359 |
+ |
|
357 | 360 |
if(!debug_mode) |
358 | 361 |
sigaction(SIGSEGV, &sigact, NULL); |
359 | 362 |
|
360 |
- sigaction(SIGHUP, &sigact, NULL); |
|
361 |
- |
|
362 | 363 |
#if defined(C_BIGSTACK) || defined(C_BSD) |
363 | 364 |
/* |
364 | 365 |
* njh@bandsman.co.uk: |