tree 302583d9a85b7d74e79d9144526dfbe7090bb7c0
parent 2a79f50a31e2df8301c3add2e900a7b8a2391bec
author Guido Urdaneta <guidou@webrtc.org> 1518780095 +0000
committer Commit Bot <commit-bot@chromium.org> 1518780109 +0000

Revert "Remove criticalsection.cc dependency on platform_thread.cc."

This reverts commit 5af97ee3ad36cb6d386cfefa8c89d7c178015a07.

Reason for revert: Breaks chrome compilation on Fuchsia, preventing rolls.

Sample failed bot run: https://ci.chromium.org/buildbot/tryserver.chromium.linux/fuchsia_arm64/59693


Sample compiler error:
In file included from ../../third_party/webrtc/rtc_base/platform_thread_types.cc:11:
../../third_party/webrtc/rtc_base/platform_thread_types.h:30:9: error: unknown type name 'pthread_t'
typedef pthread_t PlatformThreadRef;
        ^
../../third_party/webrtc/rtc_base/platform_thread_types.cc:47:10: error: use of undeclared identifier 'pthread_self'; did you mean 'zx_thread_self'?
  return pthread_self();
         ^~~~~~~~~~~~
         zx_thread_self
../../third_party/fuchsia-sdk/sysroot/aarch64-fuchsia/include/zircon/process.h:21:13: note: 'zx_thread_self' declared here
zx_handle_t zx_thread_self(void);
            ^
../../third_party/webrtc/rtc_base/platform_thread_types.cc:55:10: error: use of undeclared identifier 'pthread_equal'
  return pthread_equal(a, b);
         ^


Original change's description:
> Remove criticalsection.cc dependency on platform_thread.cc.
> 
> As part of this, I'm moving global thread related functions over to
> platform_thread_types.* and introducing platform_thread_types.cc
> for the implementation.
> 
> Change-Id: I4624877fb379e77d215f4ecd60f20b06d8df3ce5
> Bug: webrtc:8893
> Reviewed-on: https://webrtc-review.googlesource.com/53940
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Tommi <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22037}

TBR=danilchap@webrtc.org,tommi@webrtc.org

Change-Id: I73cca942eedf804a0f3ed5a10f01135fbc6f275b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8893
Reviewed-on: https://webrtc-review.googlesource.com/54340
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22048}