From: Sean Bright Date: Tue, 28 Feb 2017 19:48:51 +0000 (-0500) Subject: media_cache: Mark cache entry stale if cache file is removed X-Git-Tag: 15.0.0-beta1~300^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=60e9e4fcc0ac340c0bfde1e1ade30e07951e9351;p=thirdparty%2Fasterisk.git media_cache: Mark cache entry stale if cache file is removed In the event that a cache file is removed out from under us, we should treat the cache entry as stale and force a refresh. ASTERISK-26774 #close Reported by: Igor Gamayunov Change-Id: I3b1bd0c999d59d18664ef73a29823bc5b431dc52 --- diff --git a/main/media_cache.c b/main/media_cache.c index 7be358879f..2592f353a9 100644 --- a/main/media_cache.c +++ b/main/media_cache.c @@ -224,7 +224,8 @@ int ast_media_cache_retrieve(const char *uri, const char *preferred_file_name, */ bucket_file = ao2_find(media_cache, uri, OBJ_SEARCH_KEY | OBJ_NOLOCK); if (bucket_file) { - if (!ast_bucket_file_is_stale(bucket_file)) { + if (!ast_bucket_file_is_stale(bucket_file) + && !access(bucket_file->path, R_OK)) { ast_copy_string(file_path, bucket_file->path, len); if ((ext = strrchr(file_path, '.'))) { *ext = '\0';