- Mar 31, 2015
-
-
Rod Vagg authored
Notable changes: * fs: corruption can be caused by fs.writeFileSync() and append-mode fs.writeFile() and fs.writeFileSync() under certain circumstances, reported in #1058, fixed in #1063 (Olov Lassus). * iojs: an "internal modules" API has been introduced to allow core code to share JavaScript modules internally only without having to expose them as a public API, this feature is for core-only #848 (Vladimir Kurchatkin). * timers: two minor problems with timers have been fixed: - Timer#close() is now properly idempotent #1288 (Petka Antonov). - setTimeout() will only run the callback once now after an unref() during the callback #1231 (Roman Reiss). * Windows: a "delay-load hook" has been added for compiled add-ons on Windows that should alleviate some of the problems that Windows users may be experiencing with add-ons in io.js #1251 (Bert Belder). * V8: minor bug-fix upgrade for V8 to 4.1.0.27. * npm: upgrade npm to 2.7.4. See npm CHANGELOG.md for details.
-
- Mar 30, 2015
-
-
Bert Belder authored
On Windows, when node or io.js attempts to dynamically load a compiled addon, the compiled addon tries to load node.exe or iojs.exe again - depending on which import library the module used when it was linked. This causes many compiled addons to break when node.exe or iojs.exe are renamed, because when the binary has been renamed the addon DLL can't find the (right) .exe file to load its imports from. This patch gives compiled addon developers an option to overcome this restriction by compiling a delay-load hook into their binary. The delay-load hook ensures that whenever a module tries to load imports from node.exe/iojs.exe, it'll just look at the process image, thereby making the addon work regardless of what name the node/iojs binary has. To enable this feature, the addon developer must set the 'win_delay_load_hook' option to 'true' in their binding.gyp file, like this: ``` { 'targets': [ { 'target_name': 'ernie', 'win_delay_load_hook': 'true', ... ``` Bug: https://github.com/iojs/io.js/issues/751 Bug: https://github.com/iojs/io.js/issues/965 Upstream PR: https://github.com/TooTallNate/node-gyp/pull/599 PR-URL: https://github.com/iojs/io.js/pull/1251 Reviewed-By: Rod Vagg <rod@vagg.org> PR-URL: https://github.com/iojs/io.js/pull/1266 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
-
Colin Ihrig authored
Every npm version bump requires a few patches to be floated on node-gyp for io.js compatibility. These patches are found in 03d19927, 5de334c2, and da730c76. 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>
-
Forrest L Norvell authored
-
Farrin Reid authored
Related to https://github.com/iojs/evangelism/issues/24 PR-URL: https://github.com/iojs/io.js/pull/1113 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Mikeal Rogers <mikeal.rogers@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io>
-
- Mar 29, 2015
-
-
Ben Noordhuis authored
Fix a race condition in parallel/test-vm-debug-context where the 'exit' event for the child process is emitted before the first and only 'data' event for the child process's stderr stream. I considered deferring the 'exit' event in lib/child_process.js until all stdio streams have been closed but I realized that's not going to work when the child process spins off grandchildren that keep the stdio file descriptors alive. Fixes: https://github.com/iojs/io.js/issues/1291 PR-URL: https://github.com/iojs/io.js/pull/1294 Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
-
- Mar 28, 2015
-
-
Ben Noordhuis authored
On AIX, OS X and the BSDs, calling shutdown() on one end of a pipe when the other end has closed the connection fails with ENOTCONN. The sequential/test-child-process-execsync test failed sporadically because of a race between the parent and the child where one closed its end of the pipe before the other got around to calling shutdown() on its end of the pipe. Libuv is not the right place to handle that because it can't tell if the ENOTCONN error is genuine but io.js can. Refs: https://github.com/libuv/libuv/pull/268 PR-URL: https://github.com/iojs/io.js/pull/1214 Reviewed-By: Bert Belder <bertbelder@gmail.com>
-
Ali Ijaz Sheikh authored
Free the preload_modules array once we are done with it. PR-URL: https://github.com/iojs/io.js/pull/1265 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
-
Roman Reiss authored
This lets the doc sidebar have its own scrolling container, making the page easier to navigate in cases where previously the menu was scrolled far off. PR-URL: https://github.com/iojs/io.js/pull/1274 Reviewed-by: Chris Dickinson <christopher.s.dickinson@gmail.com> Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
-
- Mar 27, 2015
-
-
Ben Noordhuis authored
PR-URL: https://github.com/iojs/io.js/pull/1289 Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
-
Brendan Ashworth authored
A Mostly Harmless™ change to enable 'use strict' mode in _stream_wrap, bringing it in line with /all/ the other modules. PR-URL: https://github.com/iojs/io.js/pull/1279 Reviewed-By: Brian White (@mscdex) <mscdex@mscdex.net> Reviewed-By: Roman Reiss (@silverwind) <me@silverwind.io> Reviewed-By: Yosuke Furukawa <(@yosuke-furukawa)> <yosuke.furukawa@gmail.com>
-
Petka Antonov authored
fixes #1287 PR-URL: https://github.com/iojs/io.js/pull/1288 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
-
Phillip Lamplugh authored
PR-URL: https://github.com/iojs/io.js/pull/1286 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
-
Jackson Tian authored
When debug in remote mode with host:port or pid, the interface spawn child process also. If the debugger agent is running, will get following output: ``` < Error: listen EADDRINUSE :::5858 < at Object.exports._errnoException (util.js:734:11) < at exports._exceptionWithHostPort (util.js:757:20) < at Agent.Server._listen2 (net.js:1155:14) < at listen (net.js:1181:10) < at Agent.Server.listen (net.js:1268:5) < at Object.start (_debug_agent.js:21:9) < at startup (node.js:68:9) < at node.js:799:3 ``` This fix won't spawn child process and no more error message was shown. When use `iojs debug`, the tip information just like this: ``` Usage: iojs debug script.js ``` This fix will display the advance usage also: ``` Usage: iojs debug script.js iojs debug <host>:<port> iojs debug -p <pid> ``` Fixes: https://github.com/iojs/io.js/issues/889 PR-URL: https://github.com/iojs/io.js/pull/1282 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
-
Roman Reiss authored
The fs.watch test's write events sometimes aren't produced on OS X, possibly because of a fsevents race condition. This patch gives delays the writing a total of 20ms, which makes the test pass consistently. PR-URL: https://github.com/iojs/io.js/pull/1275 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
-
Ben Noordhuis authored
Fix a regression that was introduced in commit 2db758c5 ("iojs: introduce internal modules") where the computed id for "config.gypi" on Windows was not "config" but an empty string. With an empty string, the build succeeds but the binary is unusable: startup.processConfig() in src/node.js chokes on the missing .config property. PR-URL: https://github.com/iojs/io.js/pull/1281 Reviewed-By: Vladimir Kurchatkin <vladimir.kurchatkin@gmail.com>
-
- Mar 26, 2015
-
-
Ben Noordhuis authored
Don't lazy-load setInterval(), setTimeout(), etc. Most applications are going to need them and routing every call through NativeModule.require() and Function#apply() is not exactly efficient. PR-URL: https://github.com/iojs/io.js/pull/1280 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
-
Jeremiah Senkpiel authored
This reverts commit 4e9bf93e. PR-URL: https://github.com/iojs/io.js/pull/1276 Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: Rod Vagg <rod@vagg.org>
-
Bert Belder authored
The delay-load hook that was landed in 3d46fefe to make compiled addons work on Windows regardless of the iojs.exe/node.exe filename causes issues with a small amount of compiled addons. Therefore this patch makes it an opt-in feature. An addon may set the 'win_delay_load_hook' option to 'true' in its binding.gyp to enable this feature. Example: ``` { 'targets': [ { 'target_name': 'ernie', 'win_delay_load_hook': 'true', ... ``` Refs: https://github.com/iojs/io.js/pull/1251 PR-URL: https://github.com/iojs/io.js/pull/1266 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
-
Jeremiah Senkpiel authored
Uses `null` as the false-y value for `_repeat` as like other properties. Removes un-reachable statement in setInterval’s `wrapper()`. PR-URL: https://github.com/iojs/io.js/pull/1272 Reviewed-by: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
-
Roman Reiss authored
Calling this.unref() during the callback of SetTimeout caused the callback to get executed twice because unref() didn't expect to be called during that time and did not stop the ref()ed Timeout but did start a new timer. This commit prevents the new timer creation when the callback was already called. Fixes: https://github.com/iojs/io.js/issues/1191 Reviewed-by: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> PR-URL: https://github.com/iojs/io.js/pull/1231
-
- Mar 25, 2015
-
-
Fedor Indutny authored
Always call `Done` on the WriteWrap, and ensure that `EncOut` will consume all data in clear_in_ and invoke queued callbacks. Fix: https://github.com/iojs/io.js/issues/1075 PR-URL: https://github.com/iojs/io.js/pull/1244 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
-
Fedor Indutny authored
Fix: https://github.com/iojs/io.js/issues/1075 PR-URL: https://github.com/iojs/io.js/pull/1244 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
-
Vladimir Kurchatkin authored
Internal modules can be used to share private code between public modules without risk to expose private APIs to the user. PR-URL: https://github.com/iojs/io.js/pull/848 Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
-
Brendan Ashworth authored
Only objects and symbols use `util.inspect`, others are simply concatenated. Fixes: https://github.com/iojs/io.js/issues/935 PR-URL: https://github.com/iojs/io.js/pull/1255 Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
-
Brian White authored
By limiting property getting/setting to only where they are absolutely necessary, we can achieve greater performance especially with small utf8 inputs and any size base64 inputs. PR-URL: https://github.com/iojs/io.js/pull/1209 Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Nicu Micleușanu <micnic90@gmail.com> Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
-
Bert Belder authored
On Windows, when node or io.js attempts to dynamically load a compiled addon, the compiled addon tries to load node.exe or iojs.exe again - depending on which import library the module used when it was linked. This makes it impossible to rename node.exe or iojs.exe, because when that happens the module can't find its dependencies. With this patch, a delay-load hook is added to all modules that are compiled with node-gyp. The delay-load hook ensures that whenever a module tries to load imports from node.exe/iojs.exe, it'll just refer back to the process image, thus making it possible to rename the iojs/node binary. Bug: https://github.com/iojs/io.js/issues/751 Bug: https://github.com/iojs/io.js/issues/965 Upstream PR: https://github.com/TooTallNate/node-gyp/pull/599 PR-URL: https://github.com/iojs/io.js/pull/1251 Reviewed-By: Rod Vagg <rod@vagg.org>
-
Olov Lassus authored
1. writeFileSync bumps position incorrectly, causing it to drift in iteration three and onwards. 2. Append mode files will get corrupted in the middle if writeFile or writeFileSync iterates multiple times, unless running on Linux. position starts out as null so first write is OK, but then position will refer to a location inside an existing file, corrupting that data. Linux ignores position for append mode files so it doesn't happen there. This commit fixes these two related issues by bumping position correctly and by always using null as the position argument to write/writeSync for append mode files. PR-URL: https://github.com/iojs/io.js/pull/1063 Reviewed-By: Bert Belder <bertbelder@gmail.com>
-
- Mar 24, 2015
-
-
Roman Reiss authored
CONTRIBUTING.md didn't make our rule for requiring real names from contributors clear enough. This commit shall clarify that part. Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> PR-URL: https://github.com/iojs/io.js/pull/1250
-
Roman Reiss authored
Fixes: https://github.com/iojs/io.js/issues/992 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com> PR-URL: https://github.com/iojs/io.js/pull/1249
-
Mayhem authored
Not including `new` adds a useless frame and removes a potentially useful frame. PR-URL: https://github.com/iojs/io.js/pull/1246 Reviewed-By: Petka Antonov <petka_antonov@hotmail.com> Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
-
Alex Yursha authored
Delegate buffer equality check to `buffer.equals()` PR-URL: https://github.com/iojs/io.js/pull/1171 Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com> Reviewed-By: Christian Vaagland Tellnes <christian@tellnes.com>
-
- Mar 23, 2015
-
-
Colin Ihrig authored
Every npm version bump requires a few patches to be floated on node-gyp for io.js compatibility. These patches are found in 03d19927, 5de334c2, and da730c76. 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>
-
Forrest L Norvell authored
PR-URL: https://github.com/iojs/io.js/pull/1219 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
-
Ben Noordhuis authored
Remove some unnecessary environment lookups and delete a few superfluous HandleScope variables. PR-URL: https://github.com/iojs/io.js/pull/1238 Reviewed-By: Fedor Indutny <fedor@indutny.com>
-
Ben Noordhuis authored
It's possible for an accessor or named interceptor to get called with a different execution context than the one it lives in, see the test case for an example using the debug API. This commit fortifies against that by passing the environment as a data property instead of looking it up through the current context. Fixes: https://github.com/iojs/io.js/issues/1190 (again) PR-URL: https://github.com/iojs/io.js/pull/1238 Reviewed-By: Fedor Indutny <fedor@indutny.com>
-
Rod Vagg authored
-
Rod Vagg authored
Notable Changes: * Windows: The ongoing work in improving the state of Windows support has resulted in full test suite passes once again. As noted in the release notes for v1.4.2, CI system and configuration problems prevented it from properly reporting problems with the Windows tests, the problems with the CI and the codebase appear to have been fully resolved. * FreeBSD: A kernel bug impacting io.js/Node.js was discovered and a patch has been introduced to prevent it causing problems for io.js (Fedor Indutny) #1218. * module: you can now require('.') instead of having to require('./'), this is considered a bugfix (Michaël Zasso) #1185. * v8: updated to 4.1.0.25 including patches for --max_old_space_size values above 4096 and Solaris support, both of which are already included in io.js.
-
Connor Peet authored
PR-URL: https://github.com/iojs/io.js/pull/1240 Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com> Reviewed-By: Petka Antonov <petka_antonov@hotmail.com>
-
Johan Bergström authored
PR-URL: https://github.com/iojs/io.js/pull/1224 Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
-