From 31470459b624f440744c2f8830f05e19a99a0325 Mon Sep 17 00:00:00 2001 From: Mark Mentovai Date: Thu, 5 Dec 2019 22:59:50 -0500 Subject: [PATCH] Fix line endings on files introduced in 359fc4a1336d "\r\n" was used instead of "\n" on four new files. No other "\r" appears in any text file, repository-wide. Bug: crashpad:316 Change-Id: I94f5d20cd2498e76efdee6062382669362e6e53d Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1954713 Reviewed-by: Joshua Peraza Commit-Queue: Mark Mentovai --- util/win/loader_lock.cc | 104 +++++++++++++++---------------- util/win/loader_lock.h | 50 +++++++-------- util/win/loader_lock_test.cc | 72 ++++++++++----------- util/win/loader_lock_test_dll.cc | 82 ++++++++++++------------ 4 files changed, 154 insertions(+), 154 deletions(-) diff --git a/util/win/loader_lock.cc b/util/win/loader_lock.cc index 0c9a3cc5..187ef84e 100644 --- a/util/win/loader_lock.cc +++ b/util/win/loader_lock.cc @@ -1,52 +1,52 @@ -// Copyright 2019 The Crashpad Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "util/win/loader_lock.h" - -#include - -#include "build/build_config.h" -#include "util/win/process_structs.h" - -namespace crashpad { - -namespace { - -#ifdef ARCH_CPU_64_BITS -using NativeTraits = process_types::internal::Traits64; -#else -using NativeTraits = process_types::internal::Traits32; -#endif // ARCH_CPU_64_BITS - -using PEB = process_types::PEB; -using TEB = process_types::TEB; -using RTL_CRITICAL_SECTION = process_types::RTL_CRITICAL_SECTION; - -TEB* GetTeb() { - return reinterpret_cast(NtCurrentTeb()); -} - -PEB* GetPeb() { - return reinterpret_cast(GetTeb()->ProcessEnvironmentBlock); -} - -} // namespace - -bool IsThreadInLoaderLock() { - RTL_CRITICAL_SECTION* loader_lock = - reinterpret_cast(GetPeb()->LoaderLock); - return loader_lock->OwningThread == GetTeb()->ClientId.UniqueThread; -} - -} // namespace crashpad +// Copyright 2019 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "util/win/loader_lock.h" + +#include + +#include "build/build_config.h" +#include "util/win/process_structs.h" + +namespace crashpad { + +namespace { + +#ifdef ARCH_CPU_64_BITS +using NativeTraits = process_types::internal::Traits64; +#else +using NativeTraits = process_types::internal::Traits32; +#endif // ARCH_CPU_64_BITS + +using PEB = process_types::PEB; +using TEB = process_types::TEB; +using RTL_CRITICAL_SECTION = process_types::RTL_CRITICAL_SECTION; + +TEB* GetTeb() { + return reinterpret_cast(NtCurrentTeb()); +} + +PEB* GetPeb() { + return reinterpret_cast(GetTeb()->ProcessEnvironmentBlock); +} + +} // namespace + +bool IsThreadInLoaderLock() { + RTL_CRITICAL_SECTION* loader_lock = + reinterpret_cast(GetPeb()->LoaderLock); + return loader_lock->OwningThread == GetTeb()->ClientId.UniqueThread; +} + +} // namespace crashpad diff --git a/util/win/loader_lock.h b/util/win/loader_lock.h index 3ee34bb4..6c6b311f 100644 --- a/util/win/loader_lock.h +++ b/util/win/loader_lock.h @@ -1,25 +1,25 @@ -// Copyright 2019 The Crashpad Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef CRASHPAD_UTIL_WIN_LOADER_LOCK_H_ -#define CRASHPAD_UTIL_WIN_LOADER_LOCK_H_ - -namespace crashpad { - -//! \return `true` if the current thread holds the loader lock. -bool IsThreadInLoaderLock(); - -} // namespace crashpad - -#endif // CRASHPAD_UTIL_WIN_LOADER_LOCK_H_ +// Copyright 2019 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef CRASHPAD_UTIL_WIN_LOADER_LOCK_H_ +#define CRASHPAD_UTIL_WIN_LOADER_LOCK_H_ + +namespace crashpad { + +//! \return `true` if the current thread holds the loader lock. +bool IsThreadInLoaderLock(); + +} // namespace crashpad + +#endif // CRASHPAD_UTIL_WIN_LOADER_LOCK_H_ diff --git a/util/win/loader_lock_test.cc b/util/win/loader_lock_test.cc index 9fa32f87..d33ea5ac 100644 --- a/util/win/loader_lock_test.cc +++ b/util/win/loader_lock_test.cc @@ -1,36 +1,36 @@ -// Copyright 2019 The Crashpad Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "util/win/loader_lock.h" - -#include "gtest/gtest.h" -#include "util/win/get_function.h" - -extern "C" bool LoaderLockDetected(); - -namespace crashpad { -namespace test { -namespace { - -TEST(LoaderLock, Detected) { - EXPECT_FALSE(IsThreadInLoaderLock()); - auto* loader_lock_detected = GET_FUNCTION_REQUIRED( - L"crashpad_util_test_loader_lock_test.dll", LoaderLockDetected); - EXPECT_TRUE(loader_lock_detected()); - EXPECT_FALSE(IsThreadInLoaderLock()); -} - -} // namespace -} // namespace test -} // namespace crashpad +// Copyright 2019 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "util/win/loader_lock.h" + +#include "gtest/gtest.h" +#include "util/win/get_function.h" + +extern "C" bool LoaderLockDetected(); + +namespace crashpad { +namespace test { +namespace { + +TEST(LoaderLock, Detected) { + EXPECT_FALSE(IsThreadInLoaderLock()); + auto* loader_lock_detected = GET_FUNCTION_REQUIRED( + L"crashpad_util_test_loader_lock_test.dll", LoaderLockDetected); + EXPECT_TRUE(loader_lock_detected()); + EXPECT_FALSE(IsThreadInLoaderLock()); +} + +} // namespace +} // namespace test +} // namespace crashpad diff --git a/util/win/loader_lock_test_dll.cc b/util/win/loader_lock_test_dll.cc index fd1bfe03..b673ab3d 100644 --- a/util/win/loader_lock_test_dll.cc +++ b/util/win/loader_lock_test_dll.cc @@ -1,41 +1,41 @@ -// Copyright 2019 The Crashpad Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include - -#include "util/win/loader_lock.h" - -namespace { - -bool g_loader_lock_detected = false; - -} // namespace - -extern "C" { - -__declspec(dllexport) bool LoaderLockDetected() { - return g_loader_lock_detected; -} - -} // extern "C" - -BOOL WINAPI DllMain(HINSTANCE, DWORD reason, LPVOID) { - switch (reason) { - case DLL_PROCESS_ATTACH: - g_loader_lock_detected = crashpad::IsThreadInLoaderLock(); - break; - } - - return TRUE; -} +// Copyright 2019 The Crashpad Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include + +#include "util/win/loader_lock.h" + +namespace { + +bool g_loader_lock_detected = false; + +} // namespace + +extern "C" { + +__declspec(dllexport) bool LoaderLockDetected() { + return g_loader_lock_detected; +} + +} // extern "C" + +BOOL WINAPI DllMain(HINSTANCE, DWORD reason, LPVOID) { + switch (reason) { + case DLL_PROCESS_ATTACH: + g_loader_lock_detected = crashpad::IsThreadInLoaderLock(); + break; + } + + return TRUE; +}