forked from OSchip/llvm-project
Remove usage of usleep in generic code
This function is not portable, and there are only a handful of usages of it anyway. Replacing it with std::this_thread::sleep_for enables us to get rid of the compatibility code in PosixApi.h. llvm-svn: 367814
This commit is contained in:
parent
801d3304e9
commit
3d4f7655e7
|
@ -80,7 +80,6 @@ int vasprintf(char **ret, const char *fmt, va_list ap);
|
|||
char *strcasestr(const char *s, const char *find);
|
||||
char *realpath(const char *name, char *resolved);
|
||||
|
||||
int usleep(uint32_t useconds);
|
||||
char *basename(char *path);
|
||||
char *dirname(char *path);
|
||||
|
||||
|
|
|
@ -199,11 +199,6 @@ int strncasecmp(const char *s1, const char *s2, size_t n) {
|
|||
return strnicmp(s1, s2, n);
|
||||
}
|
||||
|
||||
int usleep(uint32_t useconds) {
|
||||
Sleep(useconds / 1000);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if _MSC_VER < 1900
|
||||
namespace lldb_private {
|
||||
int vsnprintf(char *buffer, size_t count, const char *format, va_list argptr) {
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include <cstring>
|
||||
#include <mutex>
|
||||
#include <sstream>
|
||||
#include <thread>
|
||||
|
||||
#include "llvm/Support/FileSystem.h"
|
||||
#include "llvm/Support/Threading.h"
|
||||
|
@ -280,10 +281,9 @@ bool GDBRemoteCommunicationServerPlatform::KillSpawnedProcess(lldb::pid_t pid) {
|
|||
return true;
|
||||
}
|
||||
}
|
||||
usleep(10000);
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||
}
|
||||
|
||||
// check one more time after the final usleep
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> guard(m_spawned_pids_mutex);
|
||||
if (m_spawned_pids.find(pid) == m_spawned_pids.end())
|
||||
|
@ -302,10 +302,10 @@ bool GDBRemoteCommunicationServerPlatform::KillSpawnedProcess(lldb::pid_t pid) {
|
|||
return true;
|
||||
}
|
||||
}
|
||||
usleep(10000);
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||
}
|
||||
|
||||
// check one more time after the final usleep Scope for locker
|
||||
// check one more time after the final sleep
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> guard(m_spawned_pids_mutex);
|
||||
if (m_spawned_pids.find(pid) == m_spawned_pids.end())
|
||||
|
|
|
@ -1032,7 +1032,7 @@ Status ProcessGDBRemote::ConnectToDebugserver(llvm::StringRef connect_url) {
|
|||
if (retry_count >= max_retry_count)
|
||||
break;
|
||||
|
||||
usleep(100000);
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3591,7 +3591,8 @@ bool ProcessGDBRemote::MonitorDebugserverProcess(
|
|||
// Sleep for a half a second to make sure our inferior process has time to
|
||||
// set its exit status before we set it incorrectly when both the debugserver
|
||||
// and the inferior process shut down.
|
||||
usleep(500000);
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(500));
|
||||
|
||||
// If our process hasn't yet exited, debugserver might have died. If the
|
||||
// process did exit, then we are reaping it.
|
||||
const StateType state = process_sp->GetState();
|
||||
|
|
|
@ -4954,7 +4954,7 @@ Process::RunThreadPlan(ExecutionContext &exe_ctx,
|
|||
#ifdef LLDB_RUN_THREAD_HALT_WITH_EVENT
|
||||
// See comment above...
|
||||
if (miss_first_event) {
|
||||
usleep(1000);
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
||||
miss_first_event = false;
|
||||
got_event = false;
|
||||
} else
|
||||
|
|
Loading…
Reference in New Issue