| ... | ... |
@@ -1,3 +1,8 @@ |
| 1 |
+Fri Mar 6 14:21:52 EET 2009 (edwin) |
|
| 2 |
+------------------------------------ |
|
| 3 |
+ * clamd/others.c, clamd/server-th.c: wake recvloopth after SelfCheck |
|
| 4 |
+ (if set), to avoid reloading the DB just before next scan request. |
|
| 5 |
+ |
|
| 1 | 6 |
Fri Mar 6 11:19:32 EET 2009 (edwin) |
| 2 | 7 |
------------------------------------ |
| 3 | 8 |
* clamav-milter/Makefile.am, clamav-milter/Makefile.in: fix make |
| ... | ... |
@@ -454,7 +454,7 @@ int fds_poll_recv(struct fd_data *data, int timeout, int check_signals) |
| 454 | 454 |
} else {
|
| 455 | 455 |
if (!closest_timeout) |
| 456 | 456 |
closest_timeout = timeout_at; |
| 457 |
- else if (timeout_at < closest_timeout) |
|
| 457 |
+ else if (timeout_at && timeout_at < closest_timeout) |
|
| 458 | 458 |
closest_timeout = timeout_at; |
| 459 | 459 |
} |
| 460 | 460 |
} |
| ... | ... |
@@ -1042,7 +1042,7 @@ int recvloop_th(int *socketds, unsigned nsockets, struct cl_engine *engine, unsi |
| 1042 | 1042 |
/* signal that we can accept more connections */ |
| 1043 | 1043 |
if (fds->nfds <= max_queue) |
| 1044 | 1044 |
pthread_cond_signal(&acceptdata.cond_nfds); |
| 1045 |
- new_sd = fds_poll_recv(fds, -1, 1); |
|
| 1045 |
+ new_sd = fds_poll_recv(fds, selfchk ? selfchk : -1, 1); |
|
| 1046 | 1046 |
|
| 1047 | 1047 |
if (!fds->nfds) {
|
| 1048 | 1048 |
/* at least the dummy/sync pipe should have remained */ |
| ... | ... |
@@ -1205,7 +1205,7 @@ int recvloop_th(int *socketds, unsigned nsockets, struct cl_engine *engine, unsi |
| 1205 | 1205 |
/* SelfCheck */ |
| 1206 | 1206 |
if(selfchk) {
|
| 1207 | 1207 |
time(¤t_time); |
| 1208 |
- if((current_time - start_time) > (time_t)selfchk) {
|
|
| 1208 |
+ if((current_time - start_time) >= (time_t)selfchk) {
|
|
| 1209 | 1209 |
if(reload_db(engine, dboptions, opts, TRUE, &ret)) {
|
| 1210 | 1210 |
pthread_mutex_lock(&reload_mutex); |
| 1211 | 1211 |
reload = 1; |