003 File Manager
Current Path:
/usr/src/contrib/llvm-project/lldb/source/Host/common
usr
/
src
/
contrib
/
llvm-project
/
lldb
/
source
/
Host
/
common
/
📁
..
📄
Editline.cpp
(52.55 KB)
📄
File.cpp
(19.23 KB)
📄
FileAction.cpp
(2.16 KB)
📄
FileCache.cpp
(3.38 KB)
📄
FileSystem.cpp
(14.09 KB)
📄
GetOptInc.cpp
(12.53 KB)
📄
Host.cpp
(21.11 KB)
📄
HostInfoBase.cpp
(12.08 KB)
📄
HostNativeThreadBase.cpp
(1.92 KB)
📄
HostProcess.cpp
(1.5 KB)
📄
HostThread.cpp
(1.47 KB)
📄
LZMA.cpp
(4.76 KB)
📄
LockFileBase.cpp
(2.25 KB)
📄
MainLoop.cpp
(10.67 KB)
📄
MonitoringProcessLauncher.cpp
(2.44 KB)
📄
NativeProcessProtocol.cpp
(26.66 KB)
📄
NativeRegisterContext.cpp
(14.02 KB)
📄
NativeThreadProtocol.cpp
(755 B)
📄
NativeWatchpointList.cpp
(941 B)
📄
OptionParser.cpp
(2.38 KB)
📄
PipeBase.cpp
(893 B)
📄
ProcessLaunchInfo.cpp
(11.86 KB)
📄
ProcessRunLock.cpp
(1.43 KB)
📄
PseudoTerminal.cpp
(9.53 KB)
📄
Socket.cpp
(14.42 KB)
📄
SocketAddress.cpp
(8.52 KB)
📄
StringConvert.cpp
(2.53 KB)
📄
TCPSocket.cpp
(9.17 KB)
📄
Terminal.cpp
(6.24 KB)
📄
ThreadLauncher.cpp
(2.54 KB)
📄
UDPSocket.cpp
(4.3 KB)
📄
XML.cpp
(14.23 KB)
Editing: ProcessRunLock.cpp
//===-- ProcessRunLock.cpp ------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef _WIN32 #include "lldb/Host/ProcessRunLock.h" namespace lldb_private { ProcessRunLock::ProcessRunLock() : m_running(false) { int err = ::pthread_rwlock_init(&m_rwlock, nullptr); (void)err; } ProcessRunLock::~ProcessRunLock() { int err = ::pthread_rwlock_destroy(&m_rwlock); (void)err; } bool ProcessRunLock::ReadTryLock() { ::pthread_rwlock_rdlock(&m_rwlock); if (!m_running) { return true; } ::pthread_rwlock_unlock(&m_rwlock); return false; } bool ProcessRunLock::ReadUnlock() { return ::pthread_rwlock_unlock(&m_rwlock) == 0; } bool ProcessRunLock::SetRunning() { ::pthread_rwlock_wrlock(&m_rwlock); m_running = true; ::pthread_rwlock_unlock(&m_rwlock); return true; } bool ProcessRunLock::TrySetRunning() { bool r; if (::pthread_rwlock_trywrlock(&m_rwlock) == 0) { r = !m_running; m_running = true; ::pthread_rwlock_unlock(&m_rwlock); return r; } return false; } bool ProcessRunLock::SetStopped() { ::pthread_rwlock_wrlock(&m_rwlock); m_running = false; ::pthread_rwlock_unlock(&m_rwlock); return true; } } #endif
Upload File
Create Folder