OSDN Git Service

Release thread local storage on thread exit.
authorDavid Rim <davidrim@google.com>
Fri, 6 Apr 2018 08:48:41 +0000 (17:48 +0900)
committerDavid Rim <davidrim@google.com>
Thu, 12 Apr 2018 01:33:42 +0000 (01:33 +0000)
commit10bcdb4636a9121ea0f4efec2b0aef0e2348d53c
tree0a1f1ebbdb3ee1d9620c7c29d75511cb5aa9852f
parent9151a3c4279123986fa2fa02a3e094d5da2d874d
Release thread local storage on thread exit.

Calls to the EGL API from different threads may exit without releasing
their current TLS storage. This patch adds a destructor to release
them if they have not been released already. Prevents memory leakage in
processes where many threads are created.

Bug b/63434079
Bug swiftshader:80

Test: cts-tradefed run commandAndExit  cts -m CtsMediaTestCases -t \
      android.media.cts.DecodeAccuracyTest
Change-Id: I6e94a6d04ce84b884571248ab89b3b1a4e71998b
Reviewed-on: https://swiftshader-review.googlesource.com/18328
Tested-by: David Rim <davidrim@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
src/Common/Thread.hpp
src/OpenGL/libEGL/main.cpp