diff options
author | Scott Blomquist <sblom@microsoft.com> | 2013-01-02 18:06:41 -0800 |
---|---|---|
committer | Bert Belder <bertbelder@gmail.com> | 2013-01-03 23:31:26 +0100 |
commit | 5a39df49593a862d0de9ef01db2f83e23b2fd67f (patch) | |
tree | e30ac072b6c9bed7d751ce2fefafdd573a762a1c /src/node_win32_perfctr_provider.cc | |
parent | a7d8c21bca112a83a711b89e432a2486f0049557 (diff) | |
download | node-new-5a39df49593a862d0de9ef01db2f83e23b2fd67f.tar.gz |
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
Diffstat (limited to 'src/node_win32_perfctr_provider.cc')
-rw-r--r-- | src/node_win32_perfctr_provider.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/node_win32_perfctr_provider.cc b/src/node_win32_perfctr_provider.cc index 8135726852..903150ed61 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); |