| 1039 | } |
| 1040 | |
| 1041 | void DoExecute() override { |
| 1042 | TThread::SetCurrentThreadName("NehHttpConnMngr"); |
| 1043 | while (true) { |
| 1044 | { |
| 1045 | TGuard<TMutex> g(PurgeMutex_); |
| 1046 | |
| 1047 | if (Shutdown_) |
| 1048 | return; |
| 1049 | |
| 1050 | CondPurge_.WaitI(PurgeMutex_); |
| 1051 | } |
| 1052 | |
| 1053 | PurgeCache(); |
| 1054 | |
| 1055 | InPurging_.Release(); |
| 1056 | } |
| 1057 | } |
| 1058 | |
| 1059 | void PurgeCache() noexcept { |
| 1060 | //try remove at least ExceedSoftLimit() oldest connections from cache |