platform_build_soong/android
Colin Cross ea68aad696 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
Merged-In: If5a3b53a778daacb3e26ac05cde872cf8eb980b3
(cherry picked from commit cefa94bd27)
2019-06-05 11:32:50 -07:00
..
androidmk.go Notice support for APEX 2019-03-21 08:05:50 +09:00
apex.go Fix data race and ordering consistency in apex modules 2019-06-05 11:32:50 -07:00
api_levels.go Revert "Revert "Android Q is API 29"" 2019-05-11 17:02:50 +00:00
arch.go Add stoney ridge x86 variant 2019-03-15 11:04:48 -06:00
arch_test.go Optimize filterArchStruct when nothing is filtered 2019-01-25 21:26:53 +00:00
config.go Allow codename.fingerprint format for targetSdkVersion 2019-04-22 10:08:35 -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-10 16:49:27 -07:00
env.go Make *Context.Config return a Config instead of a interface{} 2017-11-30 00:44:11 +00:00
expand.go genrule: expand $$ to $$ 2016-11-22 15:41:08 -08:00
expand_test.go genrule: expand $$ to $$ 2016-11-22 15:41:08 -08:00
filegroup.go Replace ctx.ExpandSources with android.PathsForModuleSrc 2019-03-20 19:36:13 +00:00
hooks.go Create sysprop_library soong module 2019-02-13 23:32:51 +00:00
makevars.go Allow Singletons to export Make variables 2019-02-19 12:45:14 -08:00
module.go Fix: PathsForModuleSrc does not work for a replaced dependency 2019-04-20 11:51:22 +09:00
mutator.go Add override_android_app module type. 2019-03-21 13:26:20 -07:00
namespace.go Soong: Add synopsis to soong_namespace module. 2019-03-26 09:09:41 -07:00
namespace_test.go Fix module rename inside namespace 2018-04-16 16:06:53 -07:00
neverallow.go Add neverallow rules for java_device_for_host 2019-03-07 15:23:21 +00:00
neverallow_test.go Add neverallow rules for java_device_for_host 2019-03-07 15:23:21 +00:00
onceper.go Fix a bug in OncePer.Get that could return a waiter 2019-02-19 11:19:09 -08:00
onceper_test.go Fix a bug in OncePer.Get that could return a waiter 2019-02-19 11:19:09 -08:00
override_module.go Fix an override_module bug. 2019-03-27 11:21:24 -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 Fix missing genrule srcs and tools with ALLOW_MISSING_DEPENDENCIES=true 2019-04-16 09:39:09 +01:00
paths_test.go Fix missing genrule srcs and tools with ALLOW_MISSING_DEPENDENCIES=true 2019-04-16 09:39:09 +01:00
prebuilt.go Prebuilt APEXes are recoreded in apexkeys.txt 2019-04-23 18:03:16 +09:00
prebuilt_etc.go Emit LOCAL_MODULE_TARGET_ARCH for prebuilt_etc 2019-05-03 08:41:35 +09:00
prebuilt_etc_test.go Add a host prebuilt module type for usr/share. 2019-02-26 09:18:35 -08:00
prebuilt_test.go Ensure that PathsForModuleSrc works with prebuilts 2019-04-20 11:52:01 +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 Add depfile support to RuleBuilder 2019-03-29 16:35:06 -07:00
rule_builder_test.go Add depfile support to RuleBuilder 2019-03-29 16:35:06 -07:00
sh_binary.go Tell make that sh_test is a NATIVE_TEST 2019-03-21 12:44:57 -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 Add depfile support to RuleBuilder 2019-03-29 16:35:06 -07:00
util.go Support go 1.12 2019-03-19 23:47:22 +00:00
util_test.go Add CopyOf utility method 2019-02-19 11:19:09 -08:00
variable.go TARGET_FS_CONFIG_GEN is a list, not a single path 2019-04-18 14:27:46 -07:00
variable_test.go Support %s in product variable properties 2017-05-05 18:22:30 -07: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