git-svn: trunk@2893
Tomasz Kojm authored on 2007/03/02 08:10:09... | ... |
@@ -1,3 +1,7 @@ |
1 |
+Thu Mar 1 22:12:22 CET 2007 (tk) |
|
2 |
+--------------------------------- |
|
3 |
+ * clamd/server-th.c: make more attempts when cl_load returns CL_ELOCKDB |
|
4 |
+ |
|
1 | 5 |
Thu Mar 1 18:50:01 GMT 2007 (njh) |
2 | 6 |
---------------------------------- |
3 | 7 |
* libclamav/blob.h: NAME_MAX is now in others.h |
... | ... |
@@ -181,7 +181,7 @@ static struct cl_engine *reload_db(struct cl_engine *engine, unsigned int dbopti |
181 | 181 |
{ |
182 | 182 |
const char *dbdir; |
183 | 183 |
int retval; |
184 |
- unsigned int sigs = 0; |
|
184 |
+ unsigned int sigs = 0, try = 1; |
|
185 | 185 |
|
186 | 186 |
*ret = 0; |
187 | 187 |
if(do_check) { |
... | ... |
@@ -226,7 +226,13 @@ static struct cl_engine *reload_db(struct cl_engine *engine, unsigned int dbopti |
226 | 226 |
return NULL; |
227 | 227 |
} |
228 | 228 |
|
229 |
- if((retval = cl_load(dbdir, &engine, &sigs, dboptions))) { |
|
229 |
+ while((retval = cl_load(dbdir, &engine, &sigs, dboptions)) == CL_ELOCKDB) { |
|
230 |
+ logg("!reload db failed: %s (try %u)\n", cl_strerror(retval), try); |
|
231 |
+ if(++try > 3) |
|
232 |
+ break; |
|
233 |
+ } |
|
234 |
+ |
|
235 |
+ if(retval) { |
|
230 | 236 |
logg("!reload db failed: %s\n", cl_strerror(retval)); |
231 | 237 |
*ret = 1; |
232 | 238 |
return NULL; |