platform_build_soong/android
Colin Cross cefa94bd27 Fix data race and ordering consistency in apex modules
apexDepsMutator can be called on multiple apex modules in parallel,
and then two goroutines could call BuildForApex on the same module
in parallel, leading to a data race appending to apexVariations.
This also results in random ordering of the entries in
apexVariations.

Hold a mutex around appending to apexVariations, and sort it before
passing it to ctx.CreateVariations.

Fixes: 134425751
Test: m nothing
Change-Id: If5a3b53a778daacb3e26ac05cde872cf8eb980b3
2019-06-03 15:52:27 -07:00
..
androidmk.go Apply native_bridge suffix to all cc_modules 2019-05-23 13:31:10 +02:00
apex.go Fix data race and ordering consistency in apex modules 2019-06-03 15:52:27 -07:00
api_levels.go Prepare for a type-safe OnceKey 2019-02-06 01:52:41 +00:00
arch.go Native bridge modules are not translated second archs 2019-05-22 15:21:15 +00:00
arch_test.go Optimize filterArchStruct when nothing is filtered 2019-01-25 21:26:53 +00:00
config.go Port uses-shared library verification and dexpreopting to Soong 2019-05-29 19:11:26 -07:00
config_test.go Fix go vet issues 2018-07-22 21:18:45 -07:00
defaults.go Update soong for blueprint change to allow multiple deps 2018-06-20 22:56:36 +00:00
defs.go Fix package path of android/soong/android pctx 2019-04-04 03:59:34 +00:00
env.go
expand.go
expand_test.go
filegroup.go Replace ctx.ExpandSources with android.PathsForModuleSrc 2019-03-20 19:36:13 +00:00
hooks.go Use LoadHook to create modules in java_sdk_library 2019-04-16 21:46:28 +00:00
makevars.go Allow Singletons to export Make variables 2019-02-19 12:45:14 -08:00
module.go Merge "AIDEGen: Collect the srcjar into out/soong/module_bp_java_deps.json" 2019-05-31 05:29:15 +00:00
mutator.go Allow //visibility:public to override other visibility rules. 2019-05-24 16:33:50 +01:00
namespace.go Add visibility support 2019-04-26 12:37:37 +01:00
namespace_test.go
neverallow.go Remove unnecessary core library neverallow rules 2019-05-01 09:39:32 +01:00
neverallow_test.go Remove unnecessary core library neverallow rules 2019-05-01 09:39:32 +01:00
onceper.go Prevent hangs in OncePer when the callback panics 2019-05-14 18:40:13 +00:00
onceper_test.go Prevent hangs in OncePer when the callback panics 2019-05-14 18:40:13 +00:00
override_module.go Fix override_android_app dependency issues. 2019-05-15 12:11:18 -07:00
package_ctx.go Allow '$' in some paths 2018-09-13 18:27:50 +00:00
path_properties.go Don't add dependencies on modules referenced in unused arch variants 2019-03-18 12:49:14 -07:00
path_properties_test.go Don't add dependencies on modules referenced in unused arch variants 2019-03-18 12:49:14 -07:00
paths.go Support opt-in ABI checks 2019-04-27 01:55:50 +08:00
paths_test.go Fix missing genrule srcs and tools with ALLOW_MISSING_DEPENDENCIES=true 2019-04-07 19:40:02 +00:00
prebuilt.go Implement DPI variants in android_app_import. 2019-05-07 17:55:23 -07:00
prebuilt_etc.go Soong: Add support on installing fonts in /fonts system image. 2019-05-15 12:35:29 -07:00
prebuilt_etc_test.go Soong: Add support on installing fonts in /fonts system image. 2019-05-15 12:35:29 -07:00
prebuilt_test.go Ensure that PathsForModuleSrc works with prebuilts 2019-04-19 17:57:33 +09:00
proto.go Add support for protoc plugins 2019-04-02 16:38:55 +00:00
register.go Support testing Rules in Modules and Rules and Builds in Singletons 2019-03-05 03:17:26 +00:00
rule_builder.go Support RuleBuilder.Sbox to wrap commands in sbox 2019-04-15 14:52:05 -07:00
rule_builder_test.go Support RuleBuilder.Sbox to wrap commands in sbox 2019-04-15 14:52:05 -07:00
sh_binary.go Add data property to sh_test. 2019-05-30 17:21:29 -07:00
sh_binary_test.go Add data property to sh_test. 2019-05-30 17:21:29 -07:00
singleton.go Support testing Rules in Modules and Rules and Builds in Singletons 2019-03-05 03:17:26 +00:00
testing.go New AndroidMk authoring system based on entry map. 2019-04-22 15:32:44 -07:00
util.go Generate VNDK snapshot with Soong except configs 2019-05-15 10:26:54 +09:00
util_test.go Add CopyOf utility method 2019-02-19 11:19:09 -08:00
variable.go Port uses-shared library verification and dexpreopting to Soong 2019-05-29 19:11:26 -07:00
variable_test.go
visibility.go Allow //visibility:public to override other visibility rules. 2019-05-24 16:33:50 +01:00
visibility_test.go Allow //visibility:public to override other visibility rules. 2019-05-24 16:33:50 +01:00
vts_config.go Soong: update the synopsis of vts_config module. 2019-03-14 12:05:02 -07:00
vts_config_test.go Implement vts_config module 2019-02-19 16:58:43 -08:00
writedocs.go Split up Soong build doc. 2019-02-20 15:43:06 -08:00