hugo/hugolib
Bjørn Erik Pedersen 95ce2a40e7
hugolib: Prevent parallel server rebuilds
There have been reports about infrequent paginator crashes when running the Hugo server since 0.55.0.

The reason have been narrowed down to that of parallel rebuilds.

This isn't a new thing, but the changes in 0.55.0 made it extra important to serialize the page initialization.

This commit fixes that by protecting the `Build` method with a lock when running in server mode.

Fixes #5885
Fixes #5968
2019-05-18 09:01:40 +02:00
..
filesystems all: Apply staticcheck recommendations 2019-03-24 16:14:51 +01:00
paths all: Apply staticcheck recommendations 2019-03-24 16:14:51 +01:00
testdata hugolib: Add test for image processing from shortcodes 2018-01-01 12:11:36 +01:00
testsite hugolib: Add multiple content dirs to GitInfo test site 2018-08-11 19:51:19 +02:00
404_test.go Spring test cleaning, take 2 2018-03-18 09:54:32 +01:00
alias.go hugolib: Allow page-relative aliases 2019-04-02 10:32:47 +02:00
alias_test.go hugolib: Allow page-relative aliases 2019-04-02 10:32:47 +02:00
case_insensitive_test.go Fix Params case handling in the new site global 2019-01-20 12:42:24 +00:00
collections.go Make Page an interface 2019-03-23 18:51:22 +01:00
collections_test.go hugolib: Add some integration tests for in/uniq using Pages 2019-04-19 09:07:21 +02:00
config.go Make Page an interface 2019-03-23 18:51:22 +01:00
config_test.go Add /config dir support 2018-12-11 13:08:36 +01:00
configdir_test.go Ignore unknown config files in config dir 2019-02-01 07:47:40 +01:00
datafiles_test.go Make Page an interface 2019-03-23 18:51:22 +01:00
disableKinds_test.go Make Page an interface 2019-03-23 18:51:22 +01:00
embedded_shortcodes_test.go Make Page an interface 2019-03-23 18:51:22 +01:00
embedded_templates_test.go tpl: Always load GA script over HTTPS 2018-06-09 23:47:44 +02:00
fileInfo.go hugolib: Add String() to fileInfo 2019-03-25 08:29:29 +01:00
fileInfo_test.go hugolib: Add String() to fileInfo 2019-03-25 08:29:29 +01:00
gitinfo.go Make Page an interface 2019-03-23 18:51:22 +01:00
hugo_sites.go hugolib: Prevent parallel server rebuilds 2019-05-18 09:01:40 +02:00
hugo_sites_build.go hugolib: Prevent parallel server rebuilds 2019-05-18 09:01:40 +02:00
hugo_sites_build_errors_test.go Make Page an interface 2019-03-23 18:51:22 +01:00
hugo_sites_build_test.go Make Page an interface 2019-03-23 18:51:22 +01:00
hugo_sites_multihost_test.go Make Page an interface 2019-03-23 18:51:22 +01:00
hugo_sites_rebuild_test.go hugolib: Fix Pages reinitialization on rebuilds 2019-04-17 12:56:46 +02:00
hugo_smoke_test.go Make Page an interface 2019-03-23 18:51:22 +01:00
hugo_themes_test.go Add support for theme composition and inheritance 2018-06-10 23:55:20 +02:00
language_content_dir_test.go Make Page an interface 2019-03-23 18:51:22 +01:00
menu_test.go Fix menu URL when multiple permalinkable output formats 2019-04-19 10:29:52 +02:00
minify_publisher_test.go Make Page an interface 2019-03-23 18:51:22 +01:00
multilingual.go Make Page an interface 2019-03-23 18:51:22 +01:00
page.go hugolib: Fix bundle resource publishing when multiple output formats 2019-04-15 17:01:39 +02:00
page__common.go hugolib: Fix Pages reinitialization on rebuilds 2019-04-17 12:56:46 +02:00
page__content.go hugolib: Fix shortcode version=1 logic 2019-04-24 15:35:04 +02:00
page__data.go Make Page an interface 2019-03-23 18:51:22 +01:00
page__menus.go Make Page an interface 2019-03-23 18:51:22 +01:00
page__meta.go hugolib: No links for bundled pages 2019-04-22 13:22:01 +02:00
page__new.go hugolib: No links for bundled pages 2019-04-22 13:22:01 +02:00
page__output.go Fix paginator refresh on server change 2019-04-12 09:18:59 +02:00
page__paginator.go Fix paginator refresh on server change 2019-04-12 09:18:59 +02:00
page__paths.go hugolib: No links for bundled pages 2019-04-22 13:22:01 +02:00
page__per_output.go hugolib: Consider summary in front matter for .Summary 2019-04-05 19:11:04 +02:00
page__position.go Make Page an interface 2019-03-23 18:51:22 +01:00
page__ref.go Make Page an interface 2019-03-23 18:51:22 +01:00
page__tree.go resources/page: Re-introduce .Page.Page 2019-03-25 07:55:46 +01:00
page_kinds.go Make Page an interface 2019-03-23 18:51:22 +01:00
page_permalink_test.go hugolib: Log warning on relative front matter url with lang 2019-04-07 18:54:18 +02:00
page_test.go hugolib: Fix dates for sections with dates in front matter 2019-04-13 20:01:43 +02:00
page_unwrap.go Make Page an interface 2019-03-23 18:51:22 +01:00
page_unwrap_test.go Make Page an interface 2019-03-23 18:51:22 +01:00
pagebundler.go Add HUGO_NUMWORKERMULTIPLIER 2019-04-05 10:21:25 +02:00
pagebundler_capture.go Add HUGO_NUMWORKERMULTIPLIER 2019-04-05 10:21:25 +02:00
pagebundler_capture_test.go Make Page an interface 2019-03-23 18:51:22 +01:00
pagebundler_handlers.go hugolib: No links for bundled pages 2019-04-22 13:22:01 +02:00
pagebundler_test.go hugolib: No links for bundled pages 2019-04-22 13:22:01 +02:00
pagecollections.go Make Page an interface 2019-03-23 18:51:22 +01:00
pagecollections_test.go Make Page an interface 2019-03-23 18:51:22 +01:00
pages_language_merge_test.go Make Page an interface 2019-03-23 18:51:22 +01:00
paginator_test.go Misc paginator adjustments 2019-04-08 11:02:12 +02:00
permalinker.go Make Page an interface 2019-03-23 18:51:22 +01:00
prune_resources.go cache/filecache: Add a cache prune func 2018-11-14 23:14:51 +01:00
resource_chain_test.go Make Page an interface 2019-03-23 18:51:22 +01:00
robotstxt_test.go Spring test cleaning, take 2 2018-03-18 09:54:32 +01:00
rss_test.go hugolib: Consider summary in front matter for .Summary 2019-04-05 19:11:04 +02:00
shortcode.go hugolib: Fix shortcode version=1 logic 2019-04-24 15:35:04 +02:00
shortcode_page.go Make Page an interface 2019-03-23 18:51:22 +01:00
shortcode_test.go hugolib: Fix shortcode version=1 logic 2019-04-24 15:35:04 +02:00
site.go hugolib: Fix PrevInSection/NextInSection for nested sections 2019-05-01 19:34:28 +02:00
site_benchmark_new_test.go hugolib: Avoid recloning of shortcode templates 2019-04-24 12:37:57 +02:00
site_benchmark_test.go hugolib: Fix benchmark for YAML front matter 2019-04-05 08:52:58 +02:00
site_output.go Make Page an interface 2019-03-23 18:51:22 +01:00
site_output_test.go Fix links for non-HTML output formats 2019-04-20 15:01:20 +02:00
site_render.go output: Fix permalink in sitemap etc. when multiple permalinkable output formats 2019-05-02 14:23:16 +02:00
site_sections.go hugolib: Fix dates for sections with dates in front matter 2019-04-13 20:01:43 +02:00
site_sections_test.go hugolib: Fix PrevInSection/NextInSection for nested sections 2019-05-01 19:34:28 +02:00
site_stats_test.go hugolib: Allow page-relative aliases 2019-04-02 10:32:47 +02:00
site_test.go hugolib: Consider summary in front matter for .Summary 2019-04-05 19:11:04 +02:00
site_url_test.go hugolib: Allow page-relative aliases 2019-04-02 10:32:47 +02:00
siteJSONEncode_test.go hugolib: Add a simple test for jsonify of Site 2019-03-28 09:45:25 +01:00
sitemap_test.go output: Fix permalink in sitemap etc. when multiple permalinkable output formats 2019-05-02 14:23:16 +02:00
taxonomy.go hugolib: Fix panic for unused taxonomy content files 2019-04-15 13:36:05 +02:00
taxonomy_test.go hugolib: Fix panic for unused taxonomy content files 2019-04-15 13:36:05 +02:00
template_engines_test.go Fix broken shortcodes for Ace and Amber 2017-11-18 10:41:31 +01:00
template_test.go tpl: Allow the partial template func to return any type 2019-04-02 10:30:24 +02:00
testhelpers_test.go hugolib: Avoid recloning of shortcode templates 2019-04-24 12:37:57 +02:00
translations.go Make Page an interface 2019-03-23 18:51:22 +01:00