diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2017-02-07 05:47:25 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2017-02-07 05:47:26 +0000 |
commit | ae853ae0c018400070e73464e7a952acf556c68e (patch) | |
tree | 570c7d1969e40bacd047f04bd544c1239b78e79d /android | |
parent | d9f6fa28d681de1051adcddb5aef293e02bcc60e (diff) | |
parent | c0d58b4a0fa6ecd8cfc5e2cb15eabca29b9742a6 (diff) | |
download | build_soong-ae853ae0c018400070e73464e7a952acf556c68e.tar.gz build_soong-ae853ae0c018400070e73464e7a952acf556c68e.tar.bz2 build_soong-ae853ae0c018400070e73464e7a952acf556c68e.zip |
Merge "Fix envDeps initialization and locking"
Diffstat (limited to 'android')
-rw-r--r-- | android/config.go | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/android/config.go b/android/config.go index 36034775..76635b39 100644 --- a/android/config.go +++ b/android/config.go @@ -177,7 +177,6 @@ func NewConfig(srcDir, buildDir string) (Config, error) { srcDir: srcDir, buildDir: buildDir, - envDeps: make(map[string]string), deviceConfig: &deviceConfig{}, } @@ -281,6 +280,10 @@ func (c *config) Getenv(key string) string { var val string var exists bool c.envLock.Lock() + defer c.envLock.Unlock() + if c.envDeps == nil { + c.envDeps = make(map[string]string) + } if val, exists = c.envDeps[key]; !exists { if c.envFrozen { panic("Cannot access new environment variables after envdeps are frozen") @@ -288,7 +291,6 @@ func (c *config) Getenv(key string) string { val = os.Getenv(key) c.envDeps[key] = val } - c.envLock.Unlock() return val } @@ -312,8 +314,8 @@ func (c *config) IsEnvFalse(key string) bool { func (c *config) EnvDeps() map[string]string { c.envLock.Lock() + defer c.envLock.Unlock() c.envFrozen = true - c.envLock.Unlock() return c.envDeps } |