- Apr 04, 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>
-
cjihrig 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/1337 Reviewed-By:
Jeremiah Senkpiel <fishrock123@rocketmail.com>
-
Fedor Indutny authored
PR-URL: https://github.com/iojs/io.js/pull/1330 Reviewed-by:
Trevor Norris <trev.norris@gmail.com>
-
Fedor Indutny authored
PR-URL: https://github.com/iojs/io.js/pull/1330 Reviewed-by:
Trevor Norris <trev.norris@gmail.com>
-
Fedor Indutny authored
Partially revert 776b73b2. Following code crashes after backported timer leak fixes: ```javascript var timer = setInterval(function() { clearInterval(timer); }, 10); timer.unref(); ``` Note that this is actually tested in a `test-timers-unref.js`, and is crashing only with 776b73b2. Calling `clearInterval` leads to the crashes in case of `.unref()`ed timers, and might lead to a extra timer spin in case of regular intervals that was closed during the interval callback. All of these happens because `.unref()`ed timer has it's own `_handle` and was used after the `.close()`. PR-URL: https://github.com/iojs/io.js/pull/1330 Reviewed-by:
Trevor Norris <trev.norris@gmail.com>
-
Julien Gilli authored
This change fixes a regression introduced by commit 0d051238, which contained a typo that would cause every unrefd interval to fire only once. Fixes: https://github.com/joyent/node/issues/8900 Reviewed-By:
Timothy J Fontaine <tjfontaine@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-by:
Trevor Norris <trev.norris@gmail.com>
-
Trevor Norris authored
The destructor isn't being called for timers that have been unref'd. Fixes: https://github.com/joyent/node/issues/8364 PR-URL: https://github.com/iojs/io.js/pull/1330 Reviewed-By:
Fedor Indutny <fedor@indutny.com> Reviewed-By:
Jeremiah Senkpiel <fishrock123@rocketmail.com>
-
Ali Ijaz Sheikh authored
We need to process cluster workers before any preload modules is executed. Otherwise, the child processes are not correctly disovered as clustered workers inside the preloaded modules. Fixes: https://github.com/iojs/io.js/issues/1269 PR-URL: https://github.com/iojs/io.js/pull/1314 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Fedor Indutny <fedor@indutny.com>
-
Giovanny Andres Gongora Granada authored
Also add Android build instructions to the README. PR-URL: https://github.com/iojs/io.js/pull/1307 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Aria Stewart authored
Remove obsolete references to the removed --max-stack-size switch. PR-URL: https://github.com/iojs/io.js/pull/1327 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Ben Noordhuis authored
Drop the homegrown thread pool that was introduced in commit 50839a04 ("v8_platform: provide default v8::Platform impl") and use one from V8's libplatform library. Performance is comparable and it removes a few hundred lines of code. The calls to v8::platform::PumpMessageLoop() are currently no-ops because V8 does not (yet?) use v8::Platform::CallOnForegroundThread(). Packagers that link against a shared libv8 now also need to make libv8_platform available. PR-URL: https://github.com/iojs/io.js/pull/1329 Reviewed-By:
Fedor Indutny <fedor@indutny.com>
-
- Apr 03, 2015
-
-
Kohei TAKATA authored
PR-URL: https://github.com/iojs/io.js/pull/1338 Reviewed-By:
Roman Reiss <me@silverwind.io>
-
Johan Bergström authored
pmake introduces private flags (-J) when passing certain arguments to it (such as -j). Filter these out before passing to gmake. PR-URL: https://github.com/iojs/io.js/pull/1334 Reviewed-By:
Fedor Indutny <fedor@indutny.com>
-
Brian White authored
This commit fixes a few things for this benchmark: 1. Ensures the temporary directory for the unix socket exists. 2. Prevents the client code from being run directly because the server script is the one that calls out the client code. 3. Ensures the server is closed once the client benchmarks have finished. 4. Since this is an http benchmark, it should be moved to the http benchmarks subdirectory. PR-URL: https://github.com/iojs/io.js/pull/1257 Reviewed-By:
Roman Reiss <me@silverwind.io>
-
- Apr 02, 2015
-
-
Johan Bergström authored
Some platforms already define this; avoid redefining if that's the case. Found on OpenBSD 5.6. PR-URL: https://github.com/iojs/io.js/pull/1322 Reviewed-By:
Brian White <mscdex@mscdex.net> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Ben Noordhuis authored
Check in a gypified gtest and add a simple unit test to show that the basic infrastructure is in place. PR-URL: https://github.com/iojs/io.js/pull/1199 Refs: https://github.com/iojs/io.js/issues/1193 Reviewed-By:
Fedor Indutny <fedor@indutny.com> Reviewed-By:
Johan Bergström <bugs@bergstroem.nu>
-
Ben Noordhuis authored
Cherry-pick https://codereview.chromium.org/856553002 from upstream. Makes V8 on OpenBSD/amd64 pick up the right V8_INT64_C and V8_UINT64_C macros. PR-URL: https://github.com/iojs/io.js/pull/1318 Refs: https://github.com/iojs/io.js/pull/1312 Reviewed-By:
Fedor Indutny <fedor@indutny.com> Reviewed-By:
Johan Bergström <bugs@bergstroem.nu>
-
- Apr 01, 2015
-
-
Rod Vagg authored
PR-URL: https://github.com/iojs/io.js/pull/1123 Reviewed-By:
Jeremiah Senkpiel <fishrock123@rocketmail.com>
-
Johan Bergström authored
Minor convenience for platforms that doesn't have gmake installed but prefer the habit of writing make instead of gmake. test needs to live in .PHONY to get passed on to gmake. PR-URL: https://github.com/iojs/io.js/pull/1298 Reviewed-By:
Fedor Indutny <fedor@indutny.com>
-
Brian White authored
PR-URL: https://github.com/iojs/io.js/pull/1290 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
- Mar 31, 2015
-
-
Jeremiah Senkpiel authored
Proposed functionality fix containing prior discussion: https://github.com/iojs/io.js/pull/822 Fixes: https://github.com/iojs/io.js/issues/743 PR-URL: https://github.com/iojs/io.js/pull/1295 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Brendan Ashworth <brendan.ashworth@me.com>
-
Rod Vagg authored
-
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. -
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>
-
cjihrig 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 30, 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>
-
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>
-
- Mar 27, 2015
-
-
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>
-
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>
-