@@ -55,7 +55,7 @@ bool is_cache_not_expired(bool is_from_flush/*,bool is_from_other_thread*/)
5555 RETURN_LEAVECRITIALCAL (true );
5656 }
5757 }
58- if (TRUE != PathFileExists (cache_filename))
58+ if (enable_cache && TRUE != PathFileExists (cache_filename))
5959 {
6060 if (is_from_flush && global_stat != nullptr )
6161 {
@@ -87,9 +87,13 @@ bool is_cache_not_expired(bool is_from_flush/*,bool is_from_other_thread*/)
8787 HANDLE json_hFile = CreateFile (json_filename, GENERIC_READ,
8888 FILE_SHARE_READ | FILE_SHARE_WRITE, NULL , OPEN_EXISTING,
8989 FILE_ATTRIBUTE_NORMAL, NULL );
90- HANDLE cache_hFile = CreateFile (cache_filename, GENERIC_READ,
91- FILE_SHARE_READ | FILE_SHARE_WRITE, NULL , OPEN_EXISTING,
92- FILE_ATTRIBUTE_NORMAL, NULL );
90+ HANDLE cache_hFile = nullptr ;
91+ if (enable_cache)
92+ {
93+ cache_hFile = CreateFile (cache_filename, GENERIC_READ,
94+ FILE_SHARE_READ | FILE_SHARE_WRITE, NULL , OPEN_EXISTING,
95+ FILE_ATTRIBUTE_NORMAL, NULL );
96+ }
9397
9498#define CLOSE_CREATEFILE (fp ) { \
9599 if (fp)CloseHandle (fp); \
@@ -98,24 +102,24 @@ bool is_cache_not_expired(bool is_from_flush/*,bool is_from_other_thread*/)
98102
99103#define RETURN_AND_CLOSE_CREATEFILE (ret ) { \
100104 CLOSE_CREATEFILE (json_hFile);\
101- CLOSE_CREATEFILE (cache_hFile);\
105+ if (enable_cache) CLOSE_CREATEFILE (cache_hFile);\
102106 RETURN_LEAVECRITIALCAL (ret); \
103107}
104- if (!json_hFile || !cache_hFile)
108+ if (!json_hFile || (enable_cache && !cache_hFile) )
105109 {
106110 LOGMESSAGE (L" CreateFile failed\n " );
107111 RETURN_AND_CLOSE_CREATEFILE (false );
108112 }
109113 FILETIME json_write_timestamp, cache_write_timestamp;
110114 if (!GetFileTime (json_hFile, NULL , NULL , &json_write_timestamp) ||
111- !GetFileTime (cache_hFile, NULL , NULL , &cache_write_timestamp))
115+ (enable_cache && !GetFileTime (cache_hFile, NULL , NULL , &cache_write_timestamp) ))
112116 {
113117 LOGMESSAGE (L" GetFileTime failed\n " );
114118 RETURN_AND_CLOSE_CREATEFILE (false );
115119 }
116120 CLOSE_CREATEFILE (json_hFile);
117- CLOSE_CREATEFILE (cache_hFile);
118- if (CompareFileTime (&json_write_timestamp, &cache_write_timestamp) >= 0 )
121+ if (enable_cache) CLOSE_CREATEFILE (cache_hFile);
122+ if (!enable_cache || (enable_cache && CompareFileTime (&json_write_timestamp, &cache_write_timestamp) >= 0 ) )
119123 {
120124 LOGMESSAGE (L" json_write_timestamp is later than cache_write_timestamp\n " );
121125 bool return_val = false ;
@@ -149,7 +153,7 @@ bool is_cache_not_expired(bool is_from_flush/*,bool is_from_other_thread*/)
149153 {
150154 result = is_reloading_config ? IDCANCEL : IDNO;
151155 }
152- if (IDNO == result || IDCANCEL == result)
156+ if (enable_cache && ( IDNO == result || IDCANCEL == result) )
153157 {
154158 return_val = true ;
155159 if (global_stat == nullptr || IDCANCEL == result)
0 commit comments