Go to file
fischman@webrtc.org c2d75e0708 PeerConnection(java): account for thread shutdown vagaries.
Android's JVM requires threads to detach before they exit, but ONLY if
they needed to AttachCurrentThread.  Conversly, threads that were
attached by the JVM (e.g. the result of making a native call from Java)
must NOT be detached by the application.  This is bug 2441.

The fix for the above is to only pthread_setspecific() for threads that
Attach(), not for already-attached threads.  To ensure that we only
detach Attached threads, added a GetEnv() call to ThreadDestructor(),
which revealed that Oracle's JVM can overly-eagerly clear TLS accounting
data, effectively detaching threads without their consent at shutdown.
Work around this with a specific check.

To guard against (some) regression, added a variant of PeerConnectionTest
that runs on a non-main thread.  This revealed a bug in LinuxDeviceManager
which implicitly assumes its talk_base::Thread has already been
initialized.  Fixed that here too.

BUG=2441
R=henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/8759004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5567 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-18 16:57:36 +00:00
data Enables robust delay validation in AEC delay logging. 2014-01-13 08:54:34 +00:00
resources Add trace-based delivery filter to BWE test framework. 2014-01-24 10:00:27 +00:00
samples/js Demo of multi-pass encode - used for testing limits. 2014-02-15 06:13:41 +00:00
talk PeerConnection(java): account for thread shutdown vagaries. 2014-02-18 16:57:36 +00:00
third_party Document updating gflags and remove code duplication. 2013-08-20 16:17:10 +00:00
tools Adding tsan suppression for error introduced in r5555, causing libjingle_unittest to fail on TSan bot. 2014-02-17 15:09:39 +00:00
webrtc Don't print a warning if RTPPacketHistory::SetStorePacketStatus is called 2014-02-18 14:51:00 +00:00
.clang-format Style-option file for clang-format. 2013-11-25 15:30:37 +00:00
.gitignore .gitignore: + /third_party/{clang_format,usrcsctp} 2014-02-12 09:33:22 +00:00
all.gyp Complete rewrite of demo application. 2013-12-12 16:55:37 +00:00
android-webrtc.mk Changed a flag in ARM build for platform build. 2012-09-08 00:32:59 +00:00
Android.mk Added buildbot benchmarking in iSAC and APM into Android platform build. 2012-12-07 15:26:28 +00:00
AUTHORS Add ability to receive calls for iOS 2014-02-10 18:47:11 +00:00
BUILD.gn Fix BUILD.gn to load all Chromium GN configurations. 2014-02-10 21:28:55 +00:00
codereview.settings Add a root codereview.settings file. 2013-04-24 02:08:50 +00:00
COPYING Libjingle in webrtc needs updated AUTHORS, COPYING, LICENSE_THIRD_PARTY AND README. 2013-07-16 18:04:56 +00:00
DEPS Roll chromium_revision 245382:249215 2014-02-09 18:38:31 +00:00
drover.properties Add a drover.properties file for reference. 2013-05-30 18:15:54 +00:00
libvpx.mk Change android makefile to reflect recent file structure change 2011-07-13 17:49:49 +00:00
LICENSE Updated license path in LICENSE and LICENSE_THIRD_PARTY. 2012-11-22 12:06:21 +00:00
license_template.txt Update template to follow chromium copyright style 2013-04-24 01:01:28 +00:00
LICENSE_THIRD_PARTY Libjingle in webrtc needs updated AUTHORS, COPYING, LICENSE_THIRD_PARTY AND README. 2013-07-16 18:04:56 +00:00
OWNERS Android, OpenSlDemo: moved to webrtc/examples/android/opensl_loopback 2014-01-17 23:12:51 +00:00
PATENTS Add references to src/ copies for LICENSE etc. 2011-10-26 01:05:07 +00:00
PRESUBMIT.py Add check to verify tree is open to PRESUBMIT.py. 2014-02-13 11:53:43 +00:00
WATCHLISTS Add qiang.lu@intel.com to WATCHLISTS. 2013-10-25 19:20:02 +00:00