Skip to content

Commit aa0308d

Browse files
committed
process: add process.features, remove process.useUV
Partially fixes #1385.
1 parent 50e147b commit aa0308d

File tree

3 files changed

+19
-6
lines changed

3 files changed

+19
-6
lines changed

src/node.cc

+14-1
Original file line numberDiff line numberDiff line change
@@ -2013,6 +2013,19 @@ static Handle<Array> EnvEnumerator(const AccessorInfo& info) {
20132013
}
20142014

20152015

2016+
static Handle<Object> GetFeatures() {
2017+
HandleScope scope;
2018+
2019+
Local<Object> obj = Object::New();
2020+
obj->Set(String::NewSymbol("uv"), Boolean::New(use_uv));
2021+
obj->Set(String::NewSymbol("ipv6"), True()); // TODO ping libuv
2022+
obj->Set(String::NewSymbol("tls"),
2023+
Boolean::New(get_builtin_module("crypto") != NULL));
2024+
2025+
return scope.Close(obj);
2026+
}
2027+
2028+
20162029
Handle<Object> SetupProcessObject(int argc, char *argv[]) {
20172030
HandleScope scope;
20182031

@@ -2102,7 +2115,7 @@ Handle<Object> SetupProcessObject(int argc, char *argv[]) {
21022115
process->Set(String::NewSymbol("ENV"), ENV);
21032116

21042117
process->Set(String::NewSymbol("pid"), Integer::New(getpid()));
2105-
process->Set(String::NewSymbol("useUV"), use_uv ? True() : False());
2118+
process->Set(String::NewSymbol("features"), GetFeatures());
21062119

21072120
// -e, --eval
21082121
if (eval_string) {

src/node.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
function startup() {
3333

34-
if (process.env.NODE_USE_UV == '1') process.useUV = true;
34+
if (process.env.NODE_USE_UV == '1') process.features.uv = true;
3535

3636
EventEmitter = NativeModule.require('events').EventEmitter;
3737
process.__proto__ = EventEmitter.prototype;
@@ -389,13 +389,13 @@
389389
function translateId(id) {
390390
switch (id) {
391391
case 'net':
392-
return process.useUV ? 'net_uv' : 'net_legacy';
392+
return process.features.uv ? 'net_uv' : 'net_legacy';
393393

394394
case 'timers':
395-
return process.useUV ? 'timers_uv' : 'timers_legacy';
395+
return process.features.uv ? 'timers_uv' : 'timers_legacy';
396396

397397
case 'dns':
398-
return process.useUV ? 'dns_uv' : 'dns_legacy';
398+
return process.features.uv ? 'dns_uv' : 'dns_legacy';
399399

400400
default:
401401
return id;

test/internet/test-dns.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ var assert = require('assert');
2525
isIP = net.isIP,
2626
isIPv4 = net.isIPv4,
2727
isIPv6 = net.isIPv6,
28-
uv = process.useUV;
28+
uv = process.features.uv;
2929

3030
var expected = 0,
3131
completed = 0,

0 commit comments

Comments
 (0)