diff options
-rw-r--r-- | source3/smbd/statcache.c | 8 |
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 */ |