sys::process::get_id() now returns the process ID instead of a process handle on Windows. Patch thanks to Kim Gräsman!

llvm-svn: 183621
This commit is contained in:
Aaron Ballman 2013-06-08 20:29:03 +00:00
parent 475671057c
commit f0b5384ef9
3 changed files with 5 additions and 5 deletions

View File

@ -50,13 +50,13 @@ protected:
public:
/// \brief Operating system specific type to identify a process.
///
/// Note that the windows one is defined to 'void *' as this is the
/// documented type for HANDLE on windows, and we don't want to pull in the
/// Note that the windows one is defined to 'unsigned long' as this is the
/// documented type for DWORD on windows, and we don't want to pull in the
/// Windows headers here.
#if defined(LLVM_ON_UNIX)
typedef pid_t id_type;
#elif defined(LLVM_ON_WIN32)
typedef void *id_type; // Must match the type of HANDLE.
typedef unsigned long id_type; // Must match the type of DWORD.
#else
#error Unsupported operating system.
#endif

View File

@ -40,7 +40,7 @@ using namespace sys;
process::id_type self_process::get_id() {
return GetCurrentProcess();
return GetCurrentProcessId();
}
static TimeValue getTimeValueFromFILETIME(FILETIME Time) {

View File

@ -26,7 +26,7 @@ TEST(ProcessTest, SelfProcess) {
#if defined(LLVM_ON_UNIX)
EXPECT_EQ(getpid(), process::get_self()->get_id());
#elif defined(LLVM_ON_WIN32)
EXPECT_EQ(GetCurrentProcess(), process::get_self()->get_id());
EXPECT_EQ(GetCurrentProcessId(), process::get_self()->get_id());
#endif
EXPECT_LT(1u, process::get_self()->page_size());