Skip to content

Commit 2329a25

Browse files
committed
Merge remote-tracking branch 'upstream/v0.10'
Conflicts: AUTHORS ChangeLog deps/uv/AUTHORS deps/uv/ChangeLog deps/uv/README.md deps/uv/build.mk deps/uv/src/unix/core.c deps/uv/src/unix/darwin-proctitle.c deps/uv/src/unix/darwin.c deps/uv/src/unix/fsevents.c deps/uv/src/unix/udp.c deps/uv/src/version.c deps/v8/src/platform-solaris.cc deps/v8/test/cctest/test-api.cc lib/tls.js src/node.h src/node_version.h
2 parents bd9c666 + 1394d58 commit 2329a25

52 files changed

Lines changed: 2483 additions & 2169 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ChangeLog

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
2013.10.30, Version 0.11.8 (Unstable)
1+
2013.10.30, Version 0.11.8 (Unstable), f8d86e24f3463c36f7f3f4c3b3ec779e5b6201e1
22

33
* uv: Upgrade to v0.11.14
44

@@ -353,6 +353,27 @@
353353
* console: `console.dir()` bypasses inspect() methods (Nathan Rajlich)
354354

355355

356+
2013.11.12, Version 0.10.22 (Stable), cbff8f091c22fb1df6b238c7a1b9145db950fa65
357+
358+
* npm: Upgrade to 1.3.14
359+
360+
* uv: Upgrade to v0.10.19
361+
362+
* child_process: don't assert on stale file descriptor events (Fedor Indutny)
363+
364+
* darwin: Fix "Not Responding" in Mavericks activity monitor (Fedor Indutny)
365+
366+
* debugger: Fix bug in sb() with unnamed script (Maxim Bogushevich)
367+
368+
* repl: do not insert duplicates into completions (Maciej Małecki)
369+
370+
* src: Fix memory leak on closed handles (Timothy J Fontaine)
371+
372+
* tls: prevent stalls by using read(0) (Fedor Indutny)
373+
374+
* v8: use correct timezone information on Solaris (Maciej Małecki)
375+
376+
356377
2013.10.18, Version 0.10.21 (Stable), e2da042844a830fafb8031f6c477eb4f96195210
357378

358379
* uv: Upgrade to v0.10.18

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ endif
5353
out/Makefile: common.gypi deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp deps/v8/build/toolchain.gypi deps/v8/build/features.gypi deps/v8/tools/gyp/v8.gyp node.gyp config.gypi
5454
ifeq ($(USE_NINJA),1)
5555
touch out/Makefile
56-
$(PYTHON) tools/gyp_node -f ninja
56+
$(PYTHON) tools/gyp_node.py -f ninja
5757
else
58-
$(PYTHON) tools/gyp_node -f make
58+
$(PYTHON) tools/gyp_node.py -f make
5959
endif
6060

6161
config.gypi: configure

configure

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -695,4 +695,4 @@ elif flavor == 'win':
695695
else:
696696
gyp_args = ['-f', 'make-' + flavor]
697697

698-
subprocess.call([sys.executable, 'tools/gyp_node'] + gyp_args)
698+
subprocess.call([sys.executable, 'tools/gyp_node.py'] + gyp_args)

doc/blog/release/v0.10.22.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
date: Tue Nov 12 12:52:56 PST 2013
2+
version: 0.10.22
3+
category: release
4+
title: Node v0.10.22 (Stable)
5+
slug: node-v0-10-22-stable
6+
7+
2013.11.12, Version 0.10.22 (Stable)
8+
9+
* npm: Upgrade to 1.3.14
10+
11+
* uv: Upgrade to v0.10.19
12+
13+
* child_process: don't assert on stale file descriptor events (Fedor Indutny)
14+
15+
* darwin: Fix "Not Responding" in Mavericks activity monitor (Fedor Indutny)
16+
17+
* debugger: Fix bug in sb() with unnamed script (Maxim Bogushevich)
18+
19+
* repl: do not insert duplicates into completions (Maciej Małecki)
20+
21+
* src: Fix memory leak on closed handles (Timothy J Fontaine)
22+
23+
* tls: prevent stalls by using read(0) (Fedor Indutny)
24+
25+
* v8: use correct timezone information on Solaris (Maciej Małecki)
26+
27+
28+
Source Code: http://nodejs.org/dist/v0.10.22/node-v0.10.22.tar.gz
29+
30+
Macintosh Installer (Universal): http://nodejs.org/dist/v0.10.22/node-v0.10.22.pkg
31+
32+
Windows Installer: http://nodejs.org/dist/v0.10.22/node-v0.10.22-x86.msi
33+
34+
Windows x64 Installer: http://nodejs.org/dist/v0.10.22/x64/node-v0.10.22-x64.msi
35+
36+
Windows x64 Files: http://nodejs.org/dist/v0.10.22/x64/
37+
38+
Linux 32-bit Binary: http://nodejs.org/dist/v0.10.22/node-v0.10.22-linux-x86.tar.gz
39+
40+
Linux 64-bit Binary: http://nodejs.org/dist/v0.10.22/node-v0.10.22-linux-x64.tar.gz
41+
42+
Solaris 32-bit Binary: http://nodejs.org/dist/v0.10.22/node-v0.10.22-sunos-x86.tar.gz
43+
44+
Solaris 64-bit Binary: http://nodejs.org/dist/v0.10.22/node-v0.10.22-sunos-x64.tar.gz
45+
46+
Other release files: http://nodejs.org/dist/v0.10.22/
47+
48+
Website: http://nodejs.org/docs/v0.10.22/
49+
50+
Documentation: http://nodejs.org/docs/v0.10.22/api/
51+
52+
Shasums:
53+
```
54+
3082a8d13dfafa7212a7f75bd0a83447fb4d7b99 node-v0.10.22-darwin-x64.tar.gz
55+
dca37fa37c8ce3c0df68e74643ed822bec7a12b3 node-v0.10.22-darwin-x86.tar.gz
56+
3739f75bbb85c920a237ceb1c34cb872409d61f7 node-v0.10.22-linux-x64.tar.gz
57+
7e99b654c21bc2a5cbccc33f1bae3ce6e26b3d12 node-v0.10.22-linux-x86.tar.gz
58+
3dfb3585386ca0645ba02b5ad06014ddccda8cbe node-v0.10.22-sunos-x64.tar.gz
59+
e6004f073fc81826335dc0c8fba04a82beada0bc node-v0.10.22-sunos-x86.tar.gz
60+
3beff0c7893e39df54e416307b624eb642bffa62 node-v0.10.22-x86.msi
61+
b4433b98f87f3f06130adad410e2fb5f959bbf37 node-v0.10.22.pkg
62+
d7c6a39dfa714eae1f8da7a00c9a07efd74a03b3 node-v0.10.22.tar.gz
63+
0ff278f5d6225d2be2a51bd4c7ba8fa0d15e98a4 node.exe
64+
6cded62495794c53f6642745d34cbeb7a28266b1 node.exp
65+
caaa11790ac8ec40d074e141afa7ffa611f216b4 node.lib
66+
3c7592832d403c93a17b29852f2c828760a45128 node.pdb
67+
f335aef2844a6bf9d8d5a9782e7c631d730acc2e pkgsrc/nodejs-ia32-0.10.22.tgz
68+
6d47f98efd86faa71e1e9887aa63916e884bb2a8 pkgsrc/nodejs-x64-0.10.22.tgz
69+
c3c169304c6371ee7bd119151bcbced61a322394 x64/node-v0.10.22-x64.msi
70+
307de602a091fa2af3adaa64812200e32ee00fdc x64/node.exe
71+
67440fca57eb4be5800434245ef1a5d16f5aea01 x64/node.exp
72+
e6ee29859cd069ff5b8bf749a598112d9f09ed3c x64/node.lib
73+
fee98420155b88c0c4b11616aa416d2328cec97d x64/node.pdb
74+
```

doc/community/index.html

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -184,33 +184,23 @@ <h2 class="localized">Localized Sites</h2>
184184
languages with mailing lists and translations of the website.
185185
</p>
186186
<p>
187-
<a href="http://nodejs.ru/">nodejs.ru</a> Russian blog.<br>
188-
<a href="http://nodejs.ir">nodejs.ir</a> Iran group in
189-
Persian<br>
190-
<a href="http://nodejs.jp/">nodejs.jp</a> Japan user group<br>
191-
<a href="http://cnodejs.org">CNodeJS.org</a> Chinese
192-
community<br>
193-
<a href="http://nodejs.co.il">nodejs.co.il</a> Israeli wiki<br>
194-
<a href="http://nodejs.hk">HKNoJ</a> Hong Kong community<br>
195-
<a href="http://nodejs.tw">nodejs.tw</a> Taiwan community<br>
196-
<a href="http://nodehispano.com">Node Hispano</a> Spanish
197-
language community<br>
198-
<a href="http://www.nodejs.es">Node.js Español</a> Node.js in
199-
Spanish<br>
200-
<a href="http://nodejskr.org">OctoberSkyJs</a> Korea Node.js
201-
community<br>
202-
<a href="https://plus.google.com/communities/113346206415381691435">FR . Node.js</a>
203-
Google+ Community of Node.js French users<br>
204-
<a href="http://www.nodejstr.com/">Node.js Türkiye</a>
205-
Node.js in Turkish<br>
206-
<a href="http://www.nodebr.com/">NodeBR.com</a>
207-
Brazilian community of Node.js<br>
208-
<a href="http://nodejs.org.au/">nodejs.org.au</a> Australian
209-
Node.js blog &amp; developers listing<br>
210-
<a href="http://nodejs.geek.nz/">nodejs.geek.nz</a>
211-
Node.js site for Kiwis<br>
212-
<a href="http://nodejs.rs/">nodejs.rs</a>
213-
Serbian Node.js community website
187+
<a class="australia" href="http://nodejs.org.au/">nodejs.org.au</a> Australian Node.js blog &amp; developers listing<br>
188+
<a class="brasil" href="http://www.nodebr.com/">NodeBR.com</a> Brazilian community of Node.js<br>
189+
<a class="china" href="http://cnodejs.org">CNodeJS.org</a> Chinese community<br>
190+
<a class="france" href="https://plus.google.com/communities/113346206415381691435">FR . Node.js</a> Google+ Community of Node.js French users<br>
191+
<a class="hong-kong" href="http://nodejs.hk">HKNoJ</a> Hong Kong community<br>
192+
<a class="iran" href="http://nodejs.ir">nodejs.ir</a> Iran group in Persian<br>
193+
<a class="israel" href="http://nodejs.co.il">nodejs.co.il</a> Israeli wiki<br>
194+
<a class="japan" href="http://nodejs.jp/">nodejs.jp</a> Japan user group<br>
195+
<a class="korea" href="http://nodejskr.org">OctoberSkyJs</a> Korea Node.js community<br>
196+
<a class="new-zealand" href="http://nodejs.geek.nz/">nodejs.geek.nz</a> Node.js site for Kiwis<br>
197+
<a class="russia" href="http://nodejs.ru/">nodejs.ru</a> Russian blog.<br>
198+
<a class="serbia" href="http://nodejs.rs/">nodejs.rs</a> Serbian Node.js community website
199+
<a class="spain" href="http://nodehispano.com">Node Hispano</a> Spanish language community<br>
200+
<a class="spain" href="http://www.nodejs.es">Node.js Español</a> Node.js in Spanish<br>
201+
<a class="taiwain" href="http://nodejs.tw">nodejs.tw</a> Taiwan community<br>
202+
<a class="turkey" href="http://www.nodejstr.com/">Node.js Türkiye</a> Node.js in Turkish<br>
203+
<a class="vietnam" href="http://nodejs.vn/">Node.js Viet Nam</a> Node.js in Vietnamese<br>
214204
</p>
215205
</div>
216206
</div>

lib/_tls_legacy.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -739,6 +739,10 @@ function SecurePair(credentials, isServer, requestCert, rejectUnauthorized,
739739
/* The Connection may be destroyed by an abort call */
740740
if (self.ssl) {
741741
self.ssl.start();
742+
743+
/* In case of cipher suite failures - SSL_accept/SSL_connect may fail */
744+
if (self.ssl && self.ssl.error)
745+
self.error();
742746
}
743747
});
744748
}

lib/events.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,9 +177,15 @@ EventEmitter.prototype.once = function(type, listener) {
177177
if (!util.isFunction(listener))
178178
throw TypeError('listener must be a function');
179179

180+
var fired = false;
181+
180182
function g() {
181183
this.removeListener(type, g);
182-
listener.apply(this, arguments);
184+
185+
if (!fired) {
186+
fired = true;
187+
listener.apply(this, arguments);
188+
}
183189
}
184190

185191
g.listener = listener;

lib/repl.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,7 @@ REPLServer.prototype.complete = function(line, callback) {
669669
group.sort();
670670
for (var j = 0; j < group.length; j++) {
671671
c = group[j];
672-
if (!hasOwnProperty(c)) {
672+
if (!hasOwnProperty(uniq, c)) {
673673
completions.push(c);
674674
uniq[c] = true;
675675
}

src/handle_wrap.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,8 @@ HandleWrap::~HandleWrap() {
108108

109109

110110
void HandleWrap::OnClose(uv_handle_t* handle) {
111+
HandleScope scope(node_isolate);
112+
111113
HandleWrap* wrap = static_cast<HandleWrap*>(handle->data);
112114
Environment* env = wrap->env();
113115

src/node.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,18 @@ NODE_EXTERN v8::Local<v8::Value> UVException(int errorno,
7373
const char* syscall = NULL,
7474
const char* message = NULL,
7575
const char* path = NULL);
76+
77+
/*
78+
* MakeCallback doesn't have a HandleScope. That means the callers scope
79+
* will retain ownership of created handles from MakeCallback and related.
80+
* There is by default a wrapping HandleScope before uv_run, if the caller
81+
* doesn't have a HandleScope on the stack the global will take ownership
82+
* which won't be reaped until the uv loop exits.
83+
*
84+
* If a uv callback is fired, and there is no enclosing HandleScope in the
85+
* cb, you will appear to leak 4-bytes for every invocation. Take heed.
86+
*/
87+
7688
NODE_EXTERN v8::Handle<v8::Value> MakeCallback(
7789
const v8::Handle<v8::Object> recv,
7890
const char* method,

0 commit comments

Comments
 (0)