From 5a39df49593a862d0de9ef01db2f83e23b2fd67f Mon Sep 17 00:00:00 2001 From: Scott Blomquist Date: Wed, 2 Jan 2013 18:06:41 -0800 Subject: [PATCH] windows: fix perfctr crash on XP and 2003 Some performance counter related functions are not available on Windows XP and Windows Server 2003, which caused node to call a NULL pointer. Closes #4462 Closes #4511 --- src/node_win32_perfctr_provider.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/node_win32_perfctr_provider.cc b/src/node_win32_perfctr_provider.cc index 8135726852b..903150ed61b 100644 --- a/src/node_win32_perfctr_provider.cc +++ b/src/node_win32_perfctr_provider.cc @@ -172,6 +172,13 @@ void InitPerfCountersWin32() { ZeroMemory(&providerContext, sizeof(providerContext)); providerContext.ContextSize = sizeof(providerContext); + if (!perfctr_startProvider || + !perfctr_setCounterSetInfo || + !perfctr_createInstance) { + NodeCounterProvider = NULL; + return; + } + status = perfctr_startProvider(&NodeCounterSetGuid, &providerContext, &NodeCounterProvider);