commit | f9d1ddfe15bab7dce946afa11bd58ea91fd37b1a | [log] [tgz] |
---|---|---|
author | Nikita Iashchenko <nikitai@google.com> | Fri Apr 05 17:37:44 2019 -0700 |
committer | Nikita Iashchenko <nikitai@google.com> | Mon Aug 05 16:24:08 2019 +0100 |
tree | 4a5217ef1db983e70410510194cd84c0f000474e | |
parent | f9d0666dad3c7e024279a46e202fd73aff898786 [diff] |
Cherry-pick: ICU-20520, ICU-20570, ICU-20595, ICU-20588 UMutex refactoring Thic CL cherry picks four commits from upstream that refactor UMutex and introduce thread-safety improvements: 1. ICU-20520 UMutex refactoring - Use STATIC_NEW for mutex creation, to avoid order-of-destruction problems by avoiding destruction altogether, while avoiding memory leak reports. - Remove UConditionVar, replace with direct use of std::condition_variable https://github.com/unicode-org/icu/commit/b772241b52fcec07b1909d44d156fbcd0cbfb20c 2 .ICU-20570 UInitOnce instances, add explicit initialization where it was missing. https://github.com/unicode-org/icu/commit/a97cfb01b917125fdb9705cf79786188cebb6e2e 3. ICU-20595 Make icu::TimeZone::AdoptDefault thread safe correct the mutex Remove comments about not thread safe https://github.com/unicode-org/icu/commit/cb40d8b1a5eb6dd01e3972db5e1a05b672202f80 4. ICU-20588 UMutex, add cleanup of underlying mutexes, and simplify usage model https://github.com/unicode-org/icu/commit/afa9b9b48e0a50f2298e5d47c101ac3325629d8c Bug: 125283072 Test: ./art/test.py --host -b -r -t 1944-sudden-exit Test: CtsIcuTestCases Change-Id: Ic3dc6010c7f53c04fa347bd92a2651bfbec8cb1e