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>
This commit is contained in:
parent
f299922068
commit
a803bcaab8
@ -173,7 +173,7 @@ void Environment::PrintSyncTrace() const {
|
|||||||
StackTrace::CurrentStackTrace(isolate(), 10, StackTrace::kDetailed);
|
StackTrace::CurrentStackTrace(isolate(), 10, StackTrace::kDetailed);
|
||||||
|
|
||||||
fprintf(stderr, "(node:%u) WARNING: Detected use of sync API\n",
|
fprintf(stderr, "(node:%u) WARNING: Detected use of sync API\n",
|
||||||
GetProcessId());
|
uv_os_getpid());
|
||||||
|
|
||||||
for (int i = 0; i < stack->GetFrameCount() - 1; i++) {
|
for (int i = 0; i < stack->GetFrameCount() - 1; i++) {
|
||||||
Local<StackFrame> stack_frame = stack->GetFrame(i);
|
Local<StackFrame> stack_frame = stack->GetFrame(i);
|
||||||
|
@ -109,7 +109,7 @@ static int StartDebugSignalHandler() {
|
|||||||
CHECK_EQ(0, pthread_attr_destroy(&attr));
|
CHECK_EQ(0, pthread_attr_destroy(&attr));
|
||||||
if (err != 0) {
|
if (err != 0) {
|
||||||
fprintf(stderr, "node[%u]: pthread_create: %s\n",
|
fprintf(stderr, "node[%u]: pthread_create: %s\n",
|
||||||
GetProcessId(), strerror(err));
|
uv_os_getpid(), strerror(err));
|
||||||
fflush(stderr);
|
fflush(stderr);
|
||||||
// Leave SIGUSR1 blocked. We don't install a signal handler,
|
// Leave SIGUSR1 blocked. We don't install a signal handler,
|
||||||
// receiving the signal would terminate the process.
|
// receiving the signal would terminate the process.
|
||||||
@ -144,7 +144,7 @@ static int StartDebugSignalHandler() {
|
|||||||
DWORD pid;
|
DWORD pid;
|
||||||
LPTHREAD_START_ROUTINE* handler;
|
LPTHREAD_START_ROUTINE* handler;
|
||||||
|
|
||||||
pid = GetCurrentProcessId();
|
pid = uv_os_getpid();
|
||||||
|
|
||||||
if (GetDebugSignalHandlerMappingName(pid,
|
if (GetDebugSignalHandlerMappingName(pid,
|
||||||
mapping_name,
|
mapping_name,
|
||||||
@ -692,4 +692,3 @@ bool Agent::IsWaitingForConnect() {
|
|||||||
|
|
||||||
} // namespace inspector
|
} // namespace inspector
|
||||||
} // namespace node
|
} // namespace node
|
||||||
|
|
||||||
|
@ -3105,7 +3105,7 @@ void SetupProcessObject(Environment* env,
|
|||||||
process->Set(FIXED_ONE_BYTE_STRING(env->isolate(), "env"), process_env);
|
process->Set(FIXED_ONE_BYTE_STRING(env->isolate(), "env"), process_env);
|
||||||
|
|
||||||
READONLY_PROPERTY(process, "pid",
|
READONLY_PROPERTY(process, "pid",
|
||||||
Integer::New(env->isolate(), GetProcessId()));
|
Integer::New(env->isolate(), uv_os_getpid()));
|
||||||
READONLY_PROPERTY(process, "features", GetFeatures(env));
|
READONLY_PROPERTY(process, "features", GetFeatures(env));
|
||||||
|
|
||||||
CHECK(process->SetAccessor(env->context(),
|
CHECK(process->SetAccessor(env->context(),
|
||||||
|
@ -248,7 +248,6 @@ void RegisterSignalHandler(int signal,
|
|||||||
bool reset_handler = false);
|
bool reset_handler = false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uint32_t GetProcessId();
|
|
||||||
bool SafeGetenv(const char* key, std::string* text);
|
bool SafeGetenv(const char* key, std::string* text);
|
||||||
|
|
||||||
std::string GetHumanReadableProcessName();
|
std::string GetHumanReadableProcessName();
|
||||||
|
19
src/util.cc
19
src/util.cc
@ -22,16 +22,9 @@
|
|||||||
#include "string_bytes.h"
|
#include "string_bytes.h"
|
||||||
#include "node_buffer.h"
|
#include "node_buffer.h"
|
||||||
#include "node_internals.h"
|
#include "node_internals.h"
|
||||||
|
#include "uv.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#ifdef __POSIX__
|
|
||||||
#include <unistd.h> // getpid()
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
#include <windows.h> // GetCurrentProcessId()
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace node {
|
namespace node {
|
||||||
|
|
||||||
using v8::Isolate;
|
using v8::Isolate;
|
||||||
@ -122,15 +115,7 @@ std::string GetHumanReadableProcessName() {
|
|||||||
void GetHumanReadableProcessName(char (*name)[1024]) {
|
void GetHumanReadableProcessName(char (*name)[1024]) {
|
||||||
char title[1024] = "Node.js";
|
char title[1024] = "Node.js";
|
||||||
uv_get_process_title(title, sizeof(title));
|
uv_get_process_title(title, sizeof(title));
|
||||||
snprintf(*name, sizeof(*name), "%s[%u]", title, GetProcessId());
|
snprintf(*name, sizeof(*name), "%s[%u]", title, uv_os_getpid());
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t GetProcessId() {
|
|
||||||
#ifdef _WIN32
|
|
||||||
return GetCurrentProcessId();
|
|
||||||
#else
|
|
||||||
return getpid();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace node
|
} // namespace node
|
||||||
|
Loading…
x
Reference in New Issue
Block a user