src: use uv_os_getpid() to get process id

This commit uses the new uv_os_getpid() method to retrieve the
current process id.

PR-URL: https://github.com/nodejs/node/pull/17415
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Reviewed-By: Khaidi Chu <i@2333.moe>
pull/17415/head
cjihrig 2017-12-01 09:57:07 -05:00
parent f299922068
commit a803bcaab8
No known key found for this signature in database
GPG Key ID: 7434390BDBE9B9C5
5 changed files with 6 additions and 23 deletions

View File

@ -173,7 +173,7 @@ void Environment::PrintSyncTrace() const {
StackTrace::CurrentStackTrace(isolate(), 10, StackTrace::kDetailed);
fprintf(stderr, "(node:%u) WARNING: Detected use of sync API\n",
GetProcessId());
uv_os_getpid());
for (int i = 0; i < stack->GetFrameCount() - 1; i++) {
Local<StackFrame> stack_frame = stack->GetFrame(i);

View File

@ -109,7 +109,7 @@ static int StartDebugSignalHandler() {
CHECK_EQ(0, pthread_attr_destroy(&attr));
if (err != 0) {
fprintf(stderr, "node[%u]: pthread_create: %s\n",
GetProcessId(), strerror(err));
uv_os_getpid(), strerror(err));
fflush(stderr);
// Leave SIGUSR1 blocked. We don't install a signal handler,
// receiving the signal would terminate the process.
@ -144,7 +144,7 @@ static int StartDebugSignalHandler() {
DWORD pid;
LPTHREAD_START_ROUTINE* handler;
pid = GetCurrentProcessId();
pid = uv_os_getpid();
if (GetDebugSignalHandlerMappingName(pid,
mapping_name,
@ -692,4 +692,3 @@ bool Agent::IsWaitingForConnect() {
} // namespace inspector
} // namespace node

View File

@ -3105,7 +3105,7 @@ void SetupProcessObject(Environment* env,
process->Set(FIXED_ONE_BYTE_STRING(env->isolate(), "env"), process_env);
READONLY_PROPERTY(process, "pid",
Integer::New(env->isolate(), GetProcessId()));
Integer::New(env->isolate(), uv_os_getpid()));
READONLY_PROPERTY(process, "features", GetFeatures(env));
CHECK(process->SetAccessor(env->context(),

View File

@ -248,7 +248,6 @@ void RegisterSignalHandler(int signal,
bool reset_handler = false);
#endif
uint32_t GetProcessId();
bool SafeGetenv(const char* key, std::string* text);
std::string GetHumanReadableProcessName();

View File

@ -22,16 +22,9 @@
#include "string_bytes.h"
#include "node_buffer.h"
#include "node_internals.h"
#include "uv.h"
#include <stdio.h>
#ifdef __POSIX__
#include <unistd.h> // getpid()
#endif
#ifdef _MSC_VER
#include <windows.h> // GetCurrentProcessId()
#endif
namespace node {
using v8::Isolate;
@ -122,15 +115,7 @@ std::string GetHumanReadableProcessName() {
void GetHumanReadableProcessName(char (*name)[1024]) {
char title[1024] = "Node.js";
uv_get_process_title(title, sizeof(title));
snprintf(*name, sizeof(*name), "%s[%u]", title, GetProcessId());
}
uint32_t GetProcessId() {
#ifdef _WIN32
return GetCurrentProcessId();
#else
return getpid();
#endif
snprintf(*name, sizeof(*name), "%s[%u]", title, uv_os_getpid());
}
} // namespace node