diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2010-06-08 03:16:05 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2010-06-08 03:16:05 +0000 |
commit | 70dd028d18b96e3c974900c26b20bbd8e7d97399 (patch) | |
tree | e5110575e2d8b34a899df01bdab12b2cd3920f63 /includes/registry.inc | |
parent | 0f63b2214ded6ca377b6bf4aa0dff1b0ccf7f950 (diff) | |
download | brdo-70dd028d18b96e3c974900c26b20bbd8e7d97399.tar.gz brdo-70dd028d18b96e3c974900c26b20bbd8e7d97399.tar.bz2 |
#797024 follow-up by justinrandell: Remove critical performance regression due to stale file time values.
Diffstat (limited to 'includes/registry.inc')
-rw-r--r-- | includes/registry.inc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/includes/registry.inc b/includes/registry.inc index a092ee289..7b54e4833 100644 --- a/includes/registry.inc +++ b/includes/registry.inc @@ -129,13 +129,17 @@ function registry_get_parsed_files() { */ function _registry_parse_files($files) { $parsed_files = array(); + $filetimes = array(); foreach ($files as $filename => $file) { if (file_exists($filename)) { - $filectime = filectime($filename); - $filemtime = filemtime($filename); + $filetimes[$filename] = array( + 'filectime' => filectime($filename), + 'filemtime' => filemtime($filename), + ); $modified_file = !isset($file['filectime']) || !isset($file['filemtime']) - || $filectime != $file['filectime'] || $filemtime != $file['filemtime']; + || $filetimes[$filename]['filectime'] != $file['filectime'] + || $filetimes[$filename]['filemtime'] != $file['filemtime']; if ($modified_file) { // Delete registry entries for this file, so we can insert the new resources. db_delete('registry') @@ -150,8 +154,8 @@ function _registry_parse_files($files) { db_merge('registry_file') ->key(array('filename' => $filename)) ->fields(array( - 'filectime' => $filectime, - 'filemtime' => $filemtime, + 'filectime' => $filetimes[$filename]['filectime'], + 'filemtime' => $filetimes[$filename]['filemtime'], )) ->execute(); } |