summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/statcache.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/smbd/statcache.c b/source3/smbd/statcache.c
index ae5dbb1ef7..e0ceddff1d 100644
--- a/source3/smbd/statcache.c
+++ b/source3/smbd/statcache.c
@@ -239,5 +239,11 @@ BOOL stat_cache_lookup(connection_struct *conn, char *name, char *dirpath,
*/
BOOL reset_stat_cache( void )
{
- return hash_table_init( &stat_cache, INIT_STAT_CACHE_SIZE, (compare_function)(strcmp));
+ static BOOL initialised;
+ if (!initialised) {
+ initialised = True;
+ return hash_table_init( &stat_cache, INIT_STAT_CACHE_SIZE, (compare_function)(strcmp));
+ }
+ hash_clear(&stat_cache);
+ return True;
} /* reset_stat_cache */