This fixes a race condition where the remote participant could receive the
offer, create & set its answer locally, send it back, and then try to set the
answer before the local set completed. Observed intermittently in loopback
calls when setLocalDescription is intentionally delayed (debugging something
else).
R=henrike@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/9249004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5625 4adac7df-926f-26a2-2b94-8c16560cd09d
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
The find_depot_tools.py is needed to workaround the import
error we get from gyp_chromium when importing it in
webrtc/build/gyp_webrtc (to avoid code duplication).
gyp_chromium introduced a dependency on it in
http://crrev.com/245412 but as we cannot sync all of Chrome's
src/tools (it's quite big), we'll work around this by
adding an empty find_depot_tools module.
The removal of the Cygwin relates to
http://crrev.com/248802 which is a step on the way to remove
Cygwin in Chromium. We seem to already be able to remove it
entirely for WebRTC though.
Changes in the isolate framework required us to update our
copies of the isolate.gypi files.
BUG=none
TEST=trybots passing on all platforms
R=andrew@webrtc.org, fischman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8099004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5512 4adac7df-926f-26a2-2b94-8c16560cd09d
According to https://code.google.com/p/webrtc/issues/detail?id=2907#c2
r5505 was committed to resolve exactly these flakes.
Let's revert the disabling and see.
BUG=2907
TBR=mallinath@webrtc.org
> Disable failing libjingle_p2p_unittest test on Linux
>
> I realize this diables 84 test cases and for all platforms, which
> I'm not really comfortable with. I tried finding a better way but
> couldn't without doing significant changes to the file.
> I think the tests either needs to be fixed or otherwise refactored
> in order to make more fine-grained disabling possible.
>
> Another (too) large disabling was done by holmer@ in
> https://webrtc-codereview.appspot.com/2227004 where he should only have
> disabled them on Windows, if the failures in webrtc:2383 was all that
> caused those flakes.
>
> BUG=2907
> TEST=Verified this ran 0 tests:
> out/Release/libjingle_p2p_unittest --gtest_filter=P2PTransportChannelTest.TestNAT_ADDR_RESTRICTEDToNAT_PORT_RESTRICTEDAsGiceBothSharedUfragWithMinimumStepDelay
> TBR=wu@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/8309004TBR=kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8329004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5511 4adac7df-926f-26a2-2b94-8c16560cd09d
I realize this diables 84 test cases and for all platforms, which
I'm not really comfortable with. I tried finding a better way but
couldn't without doing significant changes to the file.
I think the tests either needs to be fixed or otherwise refactored
in order to make more fine-grained disabling possible.
Another (too) large disabling was done by holmer@ in
https://webrtc-codereview.appspot.com/2227004 where he should only have
disabled them on Windows, if the failures in webrtc:2383 was all that
caused those flakes.
BUG=2907
TEST=Verified this ran 0 tests:
out/Release/libjingle_p2p_unittest --gtest_filter=P2PTransportChannelTest.TestNAT_ADDR_RESTRICTEDToNAT_PORT_RESTRICTEDAsGiceBothSharedUfragWithMinimumStepDelay
TBR=wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8309004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5510 4adac7df-926f-26a2-2b94-8c16560cd09d
Because chromium is compiled with a different version of logging macros
defined in logging.h that header cannot be used in headers that can
also included from chromium code. Removed LOG_F(LS_WARNING) from
callback.h . That issue would block this code from being rolled in
chromium.
R=mallinath@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8279004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5507 4adac7df-926f-26a2-2b94-8c16560cd09d
It includes unit test fixes to properly initialize SSL if DTLS or SSL random number generator is used in the tests.
The private key and certificate constant strings used in some tests are updated to be compatible with NSS.
A few potentially overflow type conversions caused compiling warning on Windows and they are fixed by importing and using Chromium's checked_cast, which aborts the program if overflow occurs.
It also fixes a leak in nssstreamadapter.cc by releasing the PRFileDesc* in StreamClose.
BUG=2253
R=fischman@webrtc.org, juberti@google.com, wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4679005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5459 4adac7df-926f-26a2-2b94-8c16560cd09d