AzureFunctions.Code.TemplatesManager.HandleFileSystemChange C# (CSharp) Method

HandleFileSystemChange() private method

private HandleFileSystemChange ( ) : void
return void
        private void HandleFileSystemChange()
        {
            if (_lock.TryEnterWriteLock(Timeout.Infinite))
            {
                try
                {
                    var runtimeDirs = Directory.GetDirectories(_settings.TemplatesPath);
                    var templateDirs = new List<string>();

                    foreach (var d in runtimeDirs)
                    {
                        templateDirs.AddRange(Directory.GetDirectories(Path.Combine(d, "Templates")));
                    }

                    IEnumerable<FunctionTemplate> templates = templateDirs.Select(GetFunctionTemplate).ToList();

                    templates = templates.Where(e => e != null).ToList();
                    _templates = templates;
                }
                finally
                {
                    _lock.ExitWriteLock();
                }
            }
        }