platform/upstream/nodejs.git
9 years agosrc: fix module search path for preload modules
Ali Ijaz Sheikh [Wed, 27 May 2015 17:11:30 +0000 (10:11 -0700)]
src: fix module search path for preload modules

When the preload module is not a abs/relative path, we should use
the standard search mechanism of looking into the node_modules folders
outwards. The current working directory is deemed to be the 'requiring
module', i.e. parent. The search path starts from cwd outwards.

Fixes: https://github.com/nodejs/io.js/issues/1803
PR-URL: https://github.com/nodejs/io.js/pull/1812
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agowin,node-gyp: enable delay-load hook by default
Bert Belder [Wed, 25 Mar 2015 04:00:12 +0000 (21:00 -0700)]
win,node-gyp: enable delay-load hook by default

The delay-load hook allows node.exe/iojs.exe to be renamed. See efadffe
for more background.

This commit is a combined squash of the following previous patches:
ba93c583bca993be9d16d9a1819ecdb23697b73a,
3bda6cbfa4a9bb073790d53bc14e85b6e575bbe5,
0d6d3dda95e3fff30996c224197fac88fba85b5b.

PR-URL: https://github.com/nodejs/io.js/pull/1763
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodeps: make node-gyp work with io.js
cjihrig [Fri, 27 Feb 2015 18:40:58 +0000 (13:40 -0500)]
deps: make node-gyp work with io.js

Every npm version bump requires a few patches to be floated on
node-gyp for io.js compatibility. These patches are found in
03d199276e21c1fa08d8df14eeb654c90cc5aa20,
5de334c23096492014a097ff487f07ad8eaee6d2, and
da730c76e98fb9fd18dac445dafbbec74d79f802. This commit squashes
them into a single commit.

PR-URL: https://github.com/iojs/io.js/pull/990
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: upgrade npm to 2.11.0
Forrest L Norvell [Fri, 29 May 2015 02:27:26 +0000 (22:27 -0400)]
deps: upgrade npm to 2.11.0

PR-URL: https://github.com/iojs/io.js/pull/1829
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agosrc: remove old code
Brendan Ashworth [Thu, 28 May 2015 03:42:33 +0000 (20:42 -0700)]
src: remove old code

The Socket writable only change was added and implemented in the
constructor around 5885f464f0ad372efa7e, but this was never removed.

The libev counter issue is no longer prudent; the test remains in
test/sequential/test-regress-GH-1726.

PR-URL: https://github.com/nodejs/io.js/pull/1819
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotools: pass constant to logger instead of string
Johan Bergström [Sat, 30 May 2015 03:46:12 +0000 (13:46 +1000)]
tools: pass constant to logger instead of string

On a few of our installations (namely CentOS), passing 'INFO'
resulted in a silent loglevel. Use a logging constant instead.

Fixes: https://github.com/nodejs/build/issues/104
PR-URL: https://github.com/nodejs/io.js/pull/1842
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agohttp: flush stored header
Vladimir Kurchatkin [Wed, 13 May 2015 15:52:49 +0000 (18:52 +0300)]
http: flush stored header

`flushHeaders` should work for header written
with `writeHead`.

PR-URL: https://github.com/nodejs/io.js/pull/1695
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: add heap profiler add-on regression test
Ben Noordhuis [Thu, 28 May 2015 19:46:54 +0000 (21:46 +0200)]
test: add heap profiler add-on regression test

Add a regression test for https://github.com/nodejs/io.js/pull/1827.

PR-URL: https://github.com/nodejs/io.js/pull/1828
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agoRevert "core: set PROVIDER type as Persistent class id"
Ben Noordhuis [Thu, 28 May 2015 19:11:12 +0000 (21:11 +0200)]
Revert "core: set PROVIDER type as Persistent class id"

This reverts commit 3c44100558b4e9e48e0e711e38acc91e0f870a9f.

Reverted for breaking node-heapdump[0].

AsyncWrap assigns a class id but does not set a v8::RetainedObjectInfo
provider callback with v8::HeapProfiler::SetWrapperClassInfoProvider().
The result is a null pointer dereference when taking a heap snapshot.

It can probably be solved by setting a generic provider callback inside
the AsyncWrap constructor but that may have performance ramifications
that need to be investigated first.  I move to revert it for now.

[0] https://github.com/bnoordhuis/node-heapdump

PR-URL: https://github.com/nodejs/io.js/pull/1827
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agochild_process: expose ChildProcess constructor
Evan Lucas [Fri, 22 May 2015 14:52:05 +0000 (09:52 -0500)]
child_process: expose ChildProcess constructor

Creates two new internal modules (child_process and socket_list) for
better readability.

Exposes the ChildProcess constructor from the child_process module so
one can now `require(‘child_process’).ChildProcess`

Fixes: https://github.com/nodejs/io.js/issues/1751
PR-URL: https://github.com/nodejs/io.js/pull/1760
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agotools: add objectLiteralShorthandProperties to .eslintrc
Evan Lucas [Fri, 22 May 2015 14:50:36 +0000 (09:50 -0500)]
tools: add objectLiteralShorthandProperties to .eslintrc

Required to make linting pass for using object literal
shorthand properties.

PR-URL: https://github.com/nodejs/io.js/pull/1760
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agodoc: `fs.*File()` also accept encoding strings
Rich Trott [Wed, 27 May 2015 03:11:38 +0000 (20:11 -0700)]
doc: `fs.*File()` also accept encoding strings

Fixes: https://github.com/nodejs/io.js/issues/1797
PR-URL: https://github.com/nodejs/io.js/pull/1806
Reviewed-By: fishrock123@rocketmail.com
9 years agolib: speed up require(), phase 2
Ben Noordhuis [Tue, 26 May 2015 14:50:16 +0000 (16:50 +0200)]
lib: speed up require(), phase 2

Replace calls to fs.readFileSync() with an internal variant that does
not create Error objects on failure and is a bit speedier in general.

A secondary benefit is that it improves start-up times in the debugger
because it no longer emits thousands of exception debug events.

On a medium-sized application[0], this commit and its predecessor reduce
start-up times from about 1.5s to 0.5s and reduce the number of start-up
exceptions from ~6100 to 32, half of them internal to the application.

[0] https://github.com/strongloop/loopback-sample-app

PR-URL: https://github.com/nodejs/io.js/pull/1801
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agolib: speed up require(), phase 1
Ben Noordhuis [Tue, 26 May 2015 11:23:26 +0000 (13:23 +0200)]
lib: speed up require(), phase 1

Replace calls to fs.statSync() with an internal variant that does not
create Error or Stat objects that put strain on the garbage collector.

A secondary benefit is that it improves start-up times in the debugger
because it no longer emits thousands of exception debug events.

PR-URL: https://github.com/nodejs/io.js/pull/1801
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agodoc: add documentation for AtExit hook
Steve Sharp [Sun, 28 Sep 2014 22:36:31 +0000 (15:36 -0700)]
doc: add documentation for AtExit hook

Fixes: https://github.com/nodejs/io.js/issues/999
PR-URL: https://github.com/nodejs/io.js/pull/1014
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: don't lint autogenerated test/addons/doc-*/
Ben Noordhuis [Mon, 25 May 2015 15:29:26 +0000 (17:29 +0200)]
test: don't lint autogenerated test/addons/doc-*/

The JS source files in test/addons/doc-*/ are scraped from the reference
documentation in doc/api and need not conform to the style guide.

PR-URL: https://github.com/nodejs/io.js/pull/1793
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agotest: remove stray copyright notices
Ben Noordhuis [Mon, 25 May 2015 14:49:18 +0000 (16:49 +0200)]
test: remove stray copyright notices

Commit 3e1b1dd ("Remove excessive copyright/license boilerplate") left
in a few lines of boilerplate here and there.  This commit removes them.

PR-URL: https://github.com/nodejs/io.js/pull/1793
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agotest: fix deprecation warning in addons test
Ben Noordhuis [Mon, 25 May 2015 14:45:11 +0000 (16:45 +0200)]
test: fix deprecation warning in addons test

The non-isolate version of node::FatalException() is deprecated, switch
to the version that takes an isolate as its first argument.

PR-URL: https://github.com/nodejs/io.js/pull/1793
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agosrc: fix deferred events not working with -e
Ben Noordhuis [Mon, 25 May 2015 14:37:49 +0000 (16:37 +0200)]
src: fix deferred events not working with -e

Defer evaluation of the script for a tick.  This is a workaround for
events not firing when evaluating scripts on the command line with -e.

Fixes: https://github.com/nodejs/io.js/issues/1600
PR-URL: https://github.com/nodejs/io.js/pull/1793
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agodoc: clarify stability of fs.watch and relatives
Rich Trott [Sat, 23 May 2015 00:01:10 +0000 (17:01 -0700)]
doc: clarify stability of fs.watch and relatives

Fixes: https://github.com/nodejs/io.js/issues/1754
PR-URL: https://github.com/nodejs/io.js/pull/1775
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agolib: simplify nextTick() usage
Brian White [Mon, 4 May 2015 18:40:25 +0000 (14:40 -0400)]
lib: simplify nextTick() usage

This commit removes unnecessary nextTick() closures and adds some
shared nextTick() callbacks for better re-use.

PR-URL: https://github.com/nodejs/io.js/pull/1612
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
9 years agodoc: state url decoding behavior
Josh Gummersall [Tue, 19 May 2015 04:35:48 +0000 (21:35 -0700)]
doc: state url decoding behavior

Explicitly states the fact that no decoding is performed on the url
path or pathname or the query string by default in the URL module.

Fixes: https://github.com/nodejs/io.js/issues/1538
PR-URL: https://github.com/nodejs/io.js/pull/1731
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agohttp: simplify code and remove unused properties
Brian White [Sat, 2 May 2015 01:37:05 +0000 (21:37 -0400)]
http: simplify code and remove unused properties

PR-URL: https://github.com/nodejs/io.js/pull/1572
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: remove bad semver-major entry from CHANGELOG
Rod Vagg [Sun, 24 May 2015 06:31:11 +0000 (16:31 +1000)]
doc: remove bad semver-major entry from CHANGELOG

PR-URL: https://github.com/nodejs/io.js/pull/1782
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agodoc: fix changelog s/2.0.3/2.1.0
Rod Vagg [Sun, 24 May 2015 03:56:20 +0000 (13:56 +1000)]
doc: fix changelog s/2.0.3/2.1.0

9 years agoWorking on v2.1.1
Rod Vagg [Sun, 24 May 2015 02:10:22 +0000 (12:10 +1000)]
Working on v2.1.1

9 years ago2015-05-24 io.js v2.1.0 Release v2.1.0
Rod Vagg [Sat, 23 May 2015 22:43:41 +0000 (08:43 +1000)]
2015-05-24 io.js v2.1.0 Release

PR-URL: https://github.com/nodejs/io.js/pull/1777

Notable Changes:

* crypto: Diffie-Hellman key exchange (DHE) parameters ('dhparams') must now be
  1024 bits or longer or an error will be thrown. A warning will also be printed
  to the console if you supply less than 2048 bits. See https://weakdh.org/ for
  further context on this security concern. (Shigeki Ohtsu) #1739.
* node: A new --trace-sync-io command line flag will print a warning and a stack
  trace whenever a synchronous API is used. This can be used to track down
  synchronous calls that may be slowing down an application.
  (Trevor Norris) #1707.
* node: To allow for chaining of methods, the setTimeout(), setKeepAlive(),
  setNoDelay(), ref() and unref() methods used in 'net', 'dgram', 'http',
  'https' and 'tls' now return the current instance instead of undefined
  (Roman Reiss & Evan Lucas) #1699 #1768 #1779.
* npm: Upgraded to v2.10.1, release notes can be found in
  https://github.com/npm/npm/releases/tag/v2.10.1 and
  https://github.com/npm/npm/releases/tag/v2.10.0.
* util: A significant speed-up (in the order of 35%) for the common-case of a
  single string argument to util.format(), used by console.log()
  (Сковорода Никита Андреевич) #1749.

9 years agowin,node-gyp: enable delay-load hook by default
Bert Belder [Wed, 25 Mar 2015 04:00:12 +0000 (21:00 -0700)]
win,node-gyp: enable delay-load hook by default

The delay-load hook allows node.exe/iojs.exe to be renamed. See efadffe
for more background.

This commit is a combined squash of the following previous patches:
ba93c583bca993be9d16d9a1819ecdb23697b73a,
3bda6cbfa4a9bb073790d53bc14e85b6e575bbe5,
0d6d3dda95e3fff30996c224197fac88fba85b5b.

PR-URL: https://github.com/nodejs/io.js/pull/1763
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodeps: make node-gyp work with io.js
cjihrig [Fri, 27 Feb 2015 18:40:58 +0000 (13:40 -0500)]
deps: make node-gyp work with io.js

Every npm version bump requires a few patches to be floated on
node-gyp for io.js compatibility. These patches are found in
03d199276e21c1fa08d8df14eeb654c90cc5aa20,
5de334c23096492014a097ff487f07ad8eaee6d2, and
da730c76e98fb9fd18dac445dafbbec74d79f802. This commit squashes
them into a single commit.

PR-URL: https://github.com/iojs/io.js/pull/990
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: upgrade to npm 2.10.1
Rebecca Turner [Fri, 22 May 2015 07:14:39 +0000 (03:14 -0400)]
deps: upgrade to npm 2.10.1

PR-URL: https://github.com/nodejs/io.js/pull/1763
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: update AUTHORS list
Rod Vagg [Sat, 23 May 2015 00:31:57 +0000 (10:31 +1000)]
doc: update AUTHORS list

Update AUTHORS list using tools/update-authors.sh

PR-URL: https://github.com/nodejs/io.js/pull/1776
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agonet: return this from setNoDelay and setKeepAlive
Roman Reiss [Sat, 23 May 2015 05:48:13 +0000 (07:48 +0200)]
net: return this from setNoDelay and setKeepAlive

Modifies the Socket.setNoDelay and Socket.setKeepAlive methods to return
the socket instance instead of undefined, to allow for chaining.

PR-URL: https://github.com/nodejs/io.js/pull/1779
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agonet,dgram: return this from ref and unref methods
Roman Reiss [Fri, 22 May 2015 16:35:57 +0000 (18:35 +0200)]
net,dgram: return this from ref and unref methods

Modifies the following methods to return the instance instead
of undefined, to allow for chaining these methods:

- net.Server.ref
- net.Server.unref
- net.Socket.ref
- net.Socket.unref
- dgram.Socket.ref
- dgram.Socket.unref

PR-URL: https://github.com/nodejs/io.js/pull/1768
Reviewed-By: Evan Lucas <evanlucas@me.com>
9 years agobuffer: optimize Buffer.byteLength
Brendan Ashworth [Sat, 16 May 2015 02:24:34 +0000 (19:24 -0700)]
buffer: optimize Buffer.byteLength

Buffer.byteLength is important for speed because it is called whenever a
new Buffer is created from a string.

This commit optimizes Buffer.byteLength execution by:
- moving base64 length calculation into JS-land, which is now much
  faster
- remove redundant code and streamline the UTF8 length calculation

It also adds a benchmark and better tests.

PR-URL: https://github.com/nodejs/io.js/pull/1713
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotls: emit errors happening before handshake finish
Malte-Thorben Bruns [Fri, 22 May 2015 19:12:59 +0000 (21:12 +0200)]
tls: emit errors happening before handshake finish

This fixes a race condition introduced in 80342f6.
`socket.destroy(err)` only emits the passed error when
`socket._writableState.errorEmitted === false`, `ssl.onerror`
sets `errorEmitted = true` just before calling
`socket.destroy()`.

See: https://github.com/nodejs/io.js/issues/1119
See: https://github.com/nodejs/io.js/issues/1711
PR-URL: https://github.com/nodejs/io.js/pull/1769
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agodoc: fix typo in CONTRIBUTING.md
Rich Trott [Thu, 21 May 2015 05:46:02 +0000 (22:46 -0700)]
doc: fix typo in CONTRIBUTING.md

PR-URL: https://github.com/nodejs/io.js/pull/1755
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: path is ignored in url.format
Maurice Butler [Thu, 21 May 2015 04:00:16 +0000 (14:00 +1000)]
doc: path is ignored in url.format

Made it obvious that path is ignored in url.format

PR-URL: https://github.com/nodejs/io.js/pull/1753

9 years agotls: use `.destroy(err)` instead of destroy+emit
Fedor Indutny [Fri, 15 May 2015 19:21:06 +0000 (21:21 +0200)]
tls: use `.destroy(err)` instead of destroy+emit

Emit errors using `.destroy(err)` instead of `.destroy()` and
`.emit('error', err)`. Otherwise `close` event is emitted with the
`error` argument set to `false`, even if the connection was torn down
because of the error.

See: https://github.com/nodejs/io.js/issues/1119
PR-URL: https://github.com/nodejs/io.js/pull/1711
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agobuild: refactor pkg-config for shared libraries
Johan Bergström [Mon, 4 May 2015 03:57:17 +0000 (13:57 +1000)]
build: refactor pkg-config for shared libraries

Improve detection and usage of pkg-config. This simplifies the setup
of all our shared libraries.

If pkg-config is installed on the host and `--shared` flags are passed
by the user, we try to get defaults from pkg-config instead of using the
default provided by configure.

PR-URL: https://github.com/nodejs/io.js/pull/1603
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoutil: speed up common case of formatting string
Сковорода Никита Андреевич [Wed, 20 May 2015 19:26:37 +0000 (22:26 +0300)]
util: speed up common case of formatting string

PR-URL: https://github.com/nodejs/io.js/pull/1749
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agotls: make server not use DHE in less than 1024bits
Shigeki Ohtsu [Wed, 20 May 2015 05:20:26 +0000 (14:20 +0900)]
tls: make server not use DHE in less than 1024bits

DHE key lengths less than 1024bits is already weaken as pointed out in
https://weakdh.org/ . 1024bits will not be safe in near future. We
will extend this up to 2048bits somedays later.

PR-URL: https://github.com/nodejs/io.js/pull/1739
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agodoc: fix spelling in CHANGELOG
Felipe Batista [Sun, 17 May 2015 21:20:41 +0000 (18:20 -0300)]
doc: fix spelling in CHANGELOG

Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agodoc: add notes to child_process.fork() and .exec()
Rich Trott [Sun, 17 May 2015 02:33:13 +0000 (19:33 -0700)]
doc: add notes to child_process.fork() and .exec()

Adds notes about the difference to their POSIX counterparts.

PR-URL: https://github.com/nodejs/io.js/pull/1718
Fixes: https://github.com/nodejs/io.js/issues/224
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agotest: fix jslint error
Michaël Zasso [Wed, 20 May 2015 09:29:08 +0000 (11:29 +0200)]
test: fix jslint error

PR-URL: https://github.com/nodejs/io.js/pull/1743
Fixes: https://github.com/nodejs/io.js/issues/1742
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agotest: fix test-sync-io-option
Santiago Gimeno [Tue, 19 May 2015 08:22:37 +0000 (10:22 +0200)]
test: fix test-sync-io-option

Wait for all the data to be available in stderr before checking its
contents. In FreeBSD this was failing because stderr data was being
emitted in multiple chunks. 4 WARNINGS are printed instead of 2 for
each sync call inside readFileSync. require('fs') does not print any
trace.

PR-URL: https://github.com/nodejs/io.js/pull/1734
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agotest: enable linting for tests
Roman Reiss [Tue, 19 May 2015 11:00:06 +0000 (13:00 +0200)]
test: enable linting for tests

Enable linting for the test directory. A number of changes was made so
all tests conform the current rules used by lib and src directories. The
only exception for tests is that unreachable (dead) code is allowed.

test-fs-non-number-arguments-throw had to be excluded from the changes
because of a weird issue on Windows CI.

PR-URL: https://github.com/nodejs/io.js/pull/1721
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agonet: persist net.Socket options before connect
Evan Lucas [Wed, 18 Feb 2015 18:02:01 +0000 (12:02 -0600)]
net: persist net.Socket options before connect

Remembers net.Socket options called before connect and retroactively
applies them after the handle has been created.

This change makes the following function calls more user-friendly:

- setKeepAlive()
- setNoDelay()
- ref()
- unref()

Related: https://github.com/joyent/node/issues/7077 and
https://github.com/joyent/node/issues/8572

Fixes: https://github.com/joyent/node/issues/7077
Fixes: https://github.com/joyent/node/issues/8572
PR-URL: https://github.com/nodejs/io.js/pull/1518
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agocore: set PROVIDER type as Persistent class id
Trevor Norris [Mon, 18 May 2015 22:39:53 +0000 (16:39 -0600)]
core: set PROVIDER type as Persistent class id

Pass along the PROVIDER type, that is already passed to AsyncWrap, along
to BaseObject to set the handle_'s class id. This will allow all
Persistents to be transversed and uniquely identified by what type they
are using APIs such as v8::PersistentHandleVisitor.

PR-URL: https://github.com/nodejs/io.js/pull/1730
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agowin,node-gyp: make delay-load hook C89 compliant
Sharat M R [Sun, 26 Apr 2015 23:55:33 +0000 (05:25 +0530)]
win,node-gyp: make delay-load hook C89 compliant

This fixes building compiled addons with Visual Studio 2010.

PR-URL: https://github.com/TooTallNate/node-gyp/pull/616
Reviewed-By: Bert Belder <bertbelder@gmail.com>
9 years agocore: implement runtime flag to trace sync io
Trevor Norris [Thu, 14 May 2015 17:46:54 +0000 (11:46 -0600)]
core: implement runtime flag to trace sync io

Use the --trace-sync-io flag to print a stack trace whenever a sync
method is used after the first tick, excluding during the process exit
event. (e.g. fs.readFileSync()) It does not track if the warning has
occurred at a specific location in the past and so will print the
warning every time.

Reason for not printing during the first tick of the appication is so
all necessary resources can be required. Also by excluding synchronous
calls during exit is necessary in case any data needs to be logged out
by the application before it shuts down.

Fixes: https://github.com/nodejs/io.js/issues/1674
PR-URL: https://github.com/nodejs/io.js/pull/1707
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Petka Antonov <petka_antonov@hotmail.com>
9 years agodoc: update links from iojs/io.js to nodejs/io.js
Frederic Hemberger [Sat, 16 May 2015 06:04:36 +0000 (08:04 +0200)]
doc: update links from iojs/io.js to nodejs/io.js

Replaced all links in doc and comments to point to the new org.

PR-URL: https://github.com/nodejs/io.js/pull/1715
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agodoc: recommend against use of NODE_PATH
smikes [Thu, 14 May 2015 23:43:35 +0000 (17:43 -0600)]
doc: recommend against use of NODE_PATH

PR-URL: https://github.com/nodejs/io.js/pull/1708
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agorepl: remove unnecessary check for globals
Yazhong Liu [Sun, 17 May 2015 17:25:19 +0000 (01:25 +0800)]
repl: remove unnecessary check for globals

There is no need to check for globals and also check if it is
an array.

PR-URL: https://github.com/nodejs/io.js/pull/1722
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agodoc: fix connectListener description in net docs
Josh Gummersall [Sat, 16 May 2015 19:27:03 +0000 (12:27 -0700)]
doc: fix connectListener description in net docs

`connectListener` is registered as a listener to the 'connect' event
once. Update the documentation to reflect that behavior.

Fixes: https://github.com/nodejs/io.js/issues/901
PR-URL: https://github.com/nodejs/io.js/pull/1717
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agorepl: support non-array `.scope`, document it
Yazhong Liu [Tue, 12 May 2015 08:00:35 +0000 (16:00 +0800)]
repl: support non-array `.scope`, document it

REPL evaluate `.scope` when it needs to get a list of the variable names
available in the current scope. Do not throw if the output of such
evaluation is not array, just ignore it.

PR-URL: https://github.com/nodejs/io.js/pull/1682
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agotls_wrap: fix error cb when fatal TLS Alert recvd
Shigeki Ohtsu [Fri, 8 May 2015 04:35:47 +0000 (13:35 +0900)]
tls_wrap: fix error cb when fatal TLS Alert recvd

SSL_read() returns 0 when fatal TLS Alert is received.
Fix to invoke ssl error callback in this case.

PR-URL: https://github.com/nodejs/io.js/pull/1661
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agotls: fix tls handshake check in ssl error
Shigeki Ohtsu [Fri, 8 May 2015 04:30:50 +0000 (13:30 +0900)]
tls: fix tls handshake check in ssl error

In ssl.onerror event, `this` refers `ssl` so that
`this._secureEstablished` is always undefined. Fix it to refer
TLSSocket.

PR-URL: https://github.com/nodejs/io.js/pull/1661
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agohttp,net,tls: return this from setTimeout methods
Evan Lucas [Thu, 14 May 2015 02:25:57 +0000 (21:25 -0500)]
http,net,tls: return this from setTimeout methods

Modifies the setTimeout methods for the following prototypes:

- http.ClientRequest
- http.IncomingMessage
- http.OutgoingMessage
- http.Server
- https.Server
- net.Socket
- tls.TLSSocket

Previously, the above functions returned undefined. They now return
`this`. This is useful for chaining function calls.

PR-URL: https://github.com/nodejs/io.js/pull/1699
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agodoc: fix v2.0.2 entry in changelog.md
Jeremiah Senkpiel [Fri, 15 May 2015 23:28:16 +0000 (19:28 -0400)]
doc: fix v2.0.2 entry in changelog.md

9 years agoWorking on v2.0.3
Jeremiah Senkpiel [Fri, 15 May 2015 22:40:05 +0000 (18:40 -0400)]
Working on v2.0.3

PR-URL: https://github.com/iojs/io.js/pull/1679

9 years ago2015-05-15 io.js v2.0.2 Release v2.0.2
Jeremiah Senkpiel [Fri, 15 May 2015 22:37:44 +0000 (18:37 -0400)]
2015-05-15 io.js v2.0.2 Release

PR-URL: https://github.com/iojs/io.js/pull/1679

Notable Changes:

* win,node-gyp: the delay-load hook for windows addons has now been
correctly enabled by default, it had wrongly defaulted to off in the
release version of 2.0.0 (Bert Belder) #1433
* os: tmpdir()'s trailing slash stripping has been refined to fix an
issue when the temp directory is at '/'. Also considers which slash is
used by the operating system. (cjihrig) #1673
* tls: default ciphers have been updated to use gcm and aes128 (Mike
MacCana) #1660
* build: v8 snapshots have been re-enabled by default as suggested by
the v8 team, since prior security issues have been resolved. This
should give some perf improvements to both startup and vm context
creation. (Trevor Norris) #1663
* src: fixed preload modules not working when other flags were used
before --require (Yosuke Furukawa) #1694
* dgram: fixed send()'s callback not being asynchronous (Yosuke
Furukawa) #1313
* readline: emitKeys now keeps buffering data until it has enough to
parse. This fixes an issue with parsing split escapes. (Alex Kocharin)
* cluster: works now properly emit 'disconnect' to cluser.worker (Oleg
Elifantiev) #1386
events: uncaught errors now provide some context (Evan Lucas) #1654

9 years agosrc: fix preload when used with prior flags
Yosuke Furukawa [Wed, 13 May 2015 15:00:57 +0000 (00:00 +0900)]
src: fix preload when used with prior flags

Fixes: https://github.com/nodejs/io.js/issues/1691
PR-URL: https://github.com/nodejs/io.js/pull/1694
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agobuild: use backslashes for paths on windows
Johan Bergström [Wed, 13 May 2015 23:35:03 +0000 (09:35 +1000)]
build: use backslashes for paths on windows

PR-URL: https://github.com/iojs/io.js/pull/1698
Reviewed-By: Yosuke Furukawa <furukawa.yosuke@dena.jp>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agotest: fix infinite loop detection
Yosuke Furukawa [Tue, 12 May 2015 06:47:45 +0000 (15:47 +0900)]
test: fix infinite loop detection

Fixes: https://github.com/iojs/io.js/issues/1675
PR-URL: https://github.com/iojs/io.js/pull/1681
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agoos: refine tmpdir() trailing slash stripping
cjihrig [Mon, 11 May 2015 16:11:01 +0000 (12:11 -0400)]
os: refine tmpdir() trailing slash stripping

os.tmpdir() began stripping trailing slashes in
b57cc51d8d3f4ad279591ae8fa6584ee22773b97. This causes problems if
the temp directory is simply '/'. It also stripped trailing
slashes without first determining which slash type is used by
the current operating system. This commit only strips trailing
slashes if another character precedes the slash. On Windows, it
checks for ':', as not to strip slashes from something like 'C:\'.
It also only strips slashes that are appropriate for the user's
operating system.

Fixes: https://github.com/iojs/io.js/issues/1669
PR-URL: https://github.com/iojs/io.js/pull/1673
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Christian Tellnes <christian@tellnes.no>
9 years agotools: remove closure_linter to eslint on windows
Yosuke Furukawa [Tue, 12 May 2015 09:33:02 +0000 (18:33 +0900)]
tools: remove closure_linter to eslint on windows

PR-URL: https://github.com/iojs/io.js/pull/1685
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agobuild: move --with-intl to intl optgroup
Johan Bergström [Tue, 12 May 2015 03:42:54 +0000 (13:42 +1000)]
build: move --with-intl to intl optgroup

PR-URL: https://github.com/iojs/io.js/pull/1680
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agotools: make eslint work on subdirectories
Roman Reiss [Tue, 12 May 2015 19:29:03 +0000 (21:29 +0200)]
tools: make eslint work on subdirectories

The old pattern didn't include files in lib/internal. This changes the
pattern to directories which makes eslint apply to all subdirectories as
well.

PR-URL: https://github.com/iojs/io.js/pull/1686
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agotools: refactor `make test-npm` into test-npm.sh
Jeremiah Senkpiel [Thu, 7 May 2015 20:48:12 +0000 (16:48 -0400)]
tools: refactor `make test-npm` into test-npm.sh

Extracts test-npm from Makefile and puts it in tools/test-npm.sh
Also improves test-npm to use a separate copy of deps/npm for testing.

PR-URL: https://github.com/iojs/io.js/pull/1662
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Evan Lucas <evanlucas@me.com>
9 years agoevents: provide better error message for unhandled error
Evan Lucas [Thu, 7 May 2015 21:09:31 +0000 (16:09 -0500)]
events: provide better error message for unhandled error

Previously, in the event of an unhandled error event, if the error is a
not an actual Error, then a default error is thrown. Now, the argument
is appended to the error message and added as the `context` property
of the error.

PR-URL: https://github.com/iojs/io.js/pull/1654
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agosrc,deps: replace LoadLibrary by LoadLibraryW
Cheng Zhao [Wed, 31 Dec 2014 20:38:08 +0000 (12:38 -0800)]
src,deps: replace LoadLibrary by LoadLibraryW

On Windows, when compiling with `UNICODE` defined, `LoadLibrary` becomes
`LoadLibraryW`. When an ASCII string is passed to that function it
crashes.

PR-URL: https://github.com/iojs/io.js/pull/226
Reviewed-By: Bert Belder <bertbelder@gmail.com>
9 years agodeps: provide TXT chunk info in c-ares
Fedor Indutny [Thu, 27 Mar 2014 20:09:20 +0000 (00:09 +0400)]
deps: provide TXT chunk info in c-ares

Provide more information in `ares_txt_reply` to coalesce chunks from the
same record into one string.

fix #7367

9 years agodeps: sync with upstream bagder/c-ares@bba4dc5
Ben Noordhuis [Mon, 11 May 2015 22:32:14 +0000 (00:32 +0200)]
deps: sync with upstream bagder/c-ares@bba4dc5

Fixes: https://github.com/iojs/io.js/issues/1676
PR-URL: https://github.com/iojs/io.js/pull/1678
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agobuild: re-enable V8 snapshots
Trevor Norris [Fri, 8 May 2015 18:56:13 +0000 (12:56 -0600)]
build: re-enable V8 snapshots

Snapshots had been previously disabled because of a security
vunerability. This has been fixed (ref:
https://github.com/iojs/io.js/issues/1631#issuecomment-100101375)

Also, re-enable snapshots for ARMv6 builds. There were previous build
issues that have been fixed.

Fixes: https://github.com/iojs/io.js/issues/1631
PR-URL: https://github.com/iojs/io.js/pull/1663
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotools: set eslint comma-spacing to 'warn'
Roman Reiss [Mon, 11 May 2015 12:24:38 +0000 (14:24 +0200)]
tools: set eslint comma-spacing to 'warn'

Certain cases with comments inside arrays or object literals fail to
pass eslint's comma-spacing rule. This change sets the comma-spacing
rule to the 'warn' level.

Once https://github.com/eslint/eslint/issues/2408 is resolved and
released, this rule should be set back to 'error' level.

PR-URL: https://github.com/iojs/io.js/pull/1672
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
9 years agotls: update default ciphers to use gcm and aes128
Mike MacCana [Fri, 8 May 2015 18:54:34 +0000 (19:54 +0100)]
tls: update default ciphers to use gcm and aes128

AES-GCM or CHACHA20_POLY1305 ciphers must be used in current version of
Chrome to avoid an 'obsolete cryptography' warning.

Prefer 128 bit AES over 192 and 256 bit AES considering attacks that
specifically affect the larger key sizes but do not affect AES 128.

PR-URL: https://github.com/iojs/io.js/pull/1660
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agodgram: call send callback asynchronously
Yosuke Furukawa [Wed, 1 Apr 2015 14:32:48 +0000 (23:32 +0900)]
dgram: call send callback asynchronously

dgram#send callback was changed synchronously.
The PR-URL is here https://github.com/joyent/libuv/pull/1358

This commit is temporary fix until libuv issue is resolved.
https://github.com/libuv/libuv/issues/301

PR-URL: https://github.com/iojs/io.js/pull/1313
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agoreadline: turn emitKeys into a streaming parser
Alex Kocharin [Sun, 3 May 2015 18:11:33 +0000 (18:11 +0000)]
readline: turn emitKeys into a streaming parser

In certain environments escape sequences could be splitted into
multiple chunks. For example, when user presses left arrow,
`\x1b[D` sequence could appear as two keypresses (`\x1b` + `[D`).

PR-URL: https://github.com/iojs/io.js/pull/1601
Fixes: https://github.com/iojs/io.js/issues/1403
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agowin,node-gyp: enable delay-load hook by default
Bert Belder [Wed, 15 Apr 2015 20:58:50 +0000 (13:58 -0700)]
win,node-gyp: enable delay-load hook by default

The delay-load hook allows node.exe/iojs.exe to be renamed. See efadffe
for more background.

PR-URL: https://github.com/iojs/io.js/pull/1433
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agolib: fix eslint styles
Yosuke Furukawa [Tue, 28 Apr 2015 17:46:14 +0000 (02:46 +0900)]
lib: fix eslint styles

PR-URL: https://github.com/iojs/io.js/pull/1539
Fixes: https://github.com/iojs/io.js/issues/1253
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
9 years agotools: replace closure-linter with eslint
Yosuke Furukawa [Tue, 28 Apr 2015 17:03:05 +0000 (02:03 +0900)]
tools: replace closure-linter with eslint

PR-URL: https://github.com/iojs/io.js/pull/1539
Fixes: https://github.com/iojs/io.js/issues/1253
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
9 years agocluster: disconnect event not emitted correctly
Oleg Elifantiev [Thu, 2 Apr 2015 20:27:27 +0000 (23:27 +0300)]
cluster: disconnect event not emitted correctly

Inside of a worker, disconnect event was not emitted on cluster.worker

Fixes: https://github.com/iojs/io.js/issues/1304
PR-URL: https://github.com/iojs/io.js/pull/1386
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agosrc: add type check to v8.setFlagsFromString()
Roman Klauke [Thu, 7 May 2015 18:27:12 +0000 (20:27 +0200)]
src: add type check to v8.setFlagsFromString()

Calling v8.setFlagsFromString with e.g a function as a flag argument
gave no exception or warning that the function call will fail.

There is now an exception if the function gets called with the wrong
flag type (string is required) or that a flag is expected.

Other APIs already provide exceptions if the argument has not the
expected type.

PR-URL: https://github.com/iojs/io.js/pull/1652
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoWorking on v2.0.2
Rod Vagg [Thu, 7 May 2015 21:13:19 +0000 (14:13 -0700)]
Working on v2.0.2

9 years ago2015-05-07 io.js v2.0.1 Release (PROPOSAL) v2.0.1
Rod Vagg [Thu, 7 May 2015 19:28:23 +0000 (12:28 -0700)]
2015-05-07 io.js v2.0.1 Release (PROPOSAL)

PR-URL: https://github.com/iojs/io.js/pull/1629

9 years agodoc: add TC meeting 2015-04-29 minutes
Rod Vagg [Sat, 2 May 2015 05:32:49 +0000 (22:32 -0700)]
doc: add TC meeting 2015-04-29 minutes

PR-URL: https://github.com/iojs/io.js/pull/1585
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agoinstall: fix NameError
thefourtheye [Tue, 5 May 2015 17:23:56 +0000 (22:53 +0530)]
install: fix NameError

If `len(args)` is less than two, then
`install_path = dst_dir + node_prefix + '/'` would throw a `NameError`,
because `dst_dir` will not be defined yet. So we are assigning `''` as
the default value.

PR-URL: https://github.com/iojs/io.js/pull/1628
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agosrc: export the ParseEncoding function on Windows
Ivan Kozik [Sun, 3 May 2015 02:41:00 +0000 (02:41 +0000)]
src: export the ParseEncoding function on Windows

Makes the ParseEncoding symbol visible to addons on Windows.
It was already visible on Unices.

PR-URL: https://github.com/iojs/io.js/pull/1596
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: fix typo in readme.md
AQNOUCH Mohammed [Wed, 6 May 2015 19:00:55 +0000 (20:00 +0100)]
doc: fix typo in readme.md

PR-URL: https://github.com/iojs/io.js/pull/1643
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodeps: update libuv to 1.5.0
Saúl Ibarra Corretgé [Wed, 6 May 2015 07:46:15 +0000 (09:46 +0200)]
deps: update libuv to 1.5.0

Fixes: https://github.com/iojs/io.js/issues/1397
Fixes: https://github.com/iojs/io.js/issues/1512
Fixes: https://github.com/iojs/io.js/issues/1621
Fixes: https://github.com/iojs/io.js/issues/862
PR-URL: https://github.com/iojs/io.js/pull/1646
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotools: remove unused GuessWordSize function
thefourtheye [Wed, 6 May 2015 14:36:30 +0000 (20:06 +0530)]
tools: remove unused GuessWordSize function

Apart from the fact that the implementation is not reliable,
GuessWordSize is not used anywhere in the codebase.

PR-URL: https://github.com/iojs/io.js/pull/1638
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodeps: upgrade v8 to 4.2.77.20
Ben Noordhuis [Wed, 6 May 2015 15:04:07 +0000 (17:04 +0200)]
deps: upgrade v8 to 4.2.77.20

Fixes: https://github.com/iojs/io.js/issues/1637
PR-URL: https://github.com/iojs/io.js/pull/1639
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
V8-Bug: https://code.google.com/p/v8/issues/detail?id=3960
V8-Bug: https://code.google.com/p/v8/issues/detail?id=4079

9 years agosrc: fix pedantic cpplint whitespace warnings
Ben Noordhuis [Wed, 6 May 2015 15:21:00 +0000 (17:21 +0200)]
src: fix pedantic cpplint whitespace warnings

Introduced in commit b712af7 ("src: fix NODE_DEPRECATED macro with old
compilers").

PR-URL: https://github.com/iojs/io.js/pull/1640
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agojs_stream: fix buffer index in DoWrite
Shigeki Ohtsu [Wed, 6 May 2015 04:45:46 +0000 (13:45 +0900)]
js_stream: fix buffer index in DoWrite

The index of buffer to write in JSStream was always 0 by mistake. This
fix was to use increment index of buffer arrays.
The test was originally made by Brian White in #1594.

Fix: https://github.com/iojs/io.js/issues/1595
Fix: https://github.com/iojs/io.js/pull/1594
PR-URL: https://github.com/iojs/io.js/pull/1635
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agosrc: fix NODE_DEPRECATED macro with old compilers
Ben Noordhuis [Tue, 5 May 2015 16:17:55 +0000 (18:17 +0200)]
src: fix NODE_DEPRECATED macro with old compilers

The `__attribute__((deprecated("warning")))` macro didn't exist until
gcc 4.5 and clang 2.9.

While io.js does not build with compilers that old, add-ons do.  Let's
make src/node.h compatible with such compilers, it's a public header.

PR-URL: https://github.com/iojs/io.js/pull/1626
Refs: https://github.com/iojs/io.js/issues/1619
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agodoc: fix PR link in CHANGELOG
Brian White [Tue, 5 May 2015 13:27:12 +0000 (09:27 -0400)]
doc: fix PR link in CHANGELOG

PR-URL: https://github.com/iojs/io.js/pull/1624
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agoasync-wrap: remove before/after calls in init
Trevor Norris [Mon, 4 May 2015 22:11:58 +0000 (16:11 -0600)]
async-wrap: remove before/after calls in init

It doesn't make sense to call before/after callbacks in init to the
parent because they'll be made anyway from MakeCallback. If information
does need to be propagated then it should be done automatically. Will
deal with this if the issue arrises in the future.

PR-URL: https://github.com/iojs/io.js/pull/1614
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoasync-wrap: set flags using functions
Trevor Norris [Mon, 4 May 2015 22:00:37 +0000 (16:00 -0600)]
async-wrap: set flags using functions

Setting flags using cryptic numeric object fields is confusing. Instead
use much simpler .enable()/.disable() calls on the async_wrap object.

PR-URL: https://github.com/iojs/io.js/pull/1614
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoasync-wrap: pass PROVIDER as first arg to init
Trevor Norris [Mon, 4 May 2015 21:59:07 +0000 (15:59 -0600)]
async-wrap: pass PROVIDER as first arg to init

Allow the init callback to see the PROVIDER type easily by being able to
compare the flag with the list of providers on the exported async_wrap
object.

PR-URL: https://github.com/iojs/io.js/pull/1614
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoasync-wrap: don't call init callback unnecessarily
Trevor Norris [Mon, 4 May 2015 21:56:40 +0000 (15:56 -0600)]
async-wrap: don't call init callback unnecessarily

Some calls to ReqWrap would get through the initial check and allow the
init callback to run, even though the callback had not been used on the
parent. Fix by explicitly checking if the parent has a queue.

Also change the name of the check, and internal field of AsyncHooks.
Other names were confusing.

PR-URL: https://github.com/iojs/io.js/pull/1614
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>