aboutsummaryrefslogtreecommitdiff
path: root/node.gyp
AgeCommit message (Collapse)Author
2016-10-18build: do not define ZLIB_CONSTBradley T. Hughes
This define is not available in zlib prior to version 1.2.5.2. See https://github.com/nodejs/node/issues/9110 for details. Workaround the build breakage reported by casting away const in src/inspector_agent.cc instead. PR-URL: https://github.com/nodejs/node/pull/9122 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
2016-10-14build: add -DZLIB_CONST when building with --shared-zlibBradley T. Hughes
Commit 782620f added the define only when building with the bundled zlib. Using a shared zlib results in build breakage: ../src/inspector_agent.cc:179:16: error: assigning to 'Bytef *' (aka 'unsigned char *') from incompatible type 'const uint8_t *' (aka 'const unsigned char *') strm.next_in = PROTOCOL_JSON + 3; ^ ~~~~~~~~~~~~~~~~~ 1 error generated. PR-URL: https://github.com/nodejs/node/pull/9077 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Evan Lucas <evanlucas@me.com>
2016-10-11url: adding WHATWG URL supportJames M Snell
Implements WHATWG URL support. Example: ``` var u = new url.URL('http://example.org'); ``` Currently passing all WHATWG url parsing tests and all but two of the setter tests. The two setter tests are intentionally skipped for now but will be revisited. PR-URL: https://github.com/nodejs/node/pull/7448 Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com>
2016-09-23src: add /json/protocol endpoint to inspectorBen Noordhuis
Embed the compressed and minified protocol.json from the bundled v8_inspector and make it available through the /json/protocol endpoint. Refs: https://github.com/nodejs/diagnostics/issues/52 PR-URL: https://github.com/nodejs/node/pull/7491 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2016-09-22build: update V8 gypfile pathsMichaël Zasso
The location of various gypfiles has changed in V8 5.2. PR-URL: https://github.com/nodejs/node/pull/8317 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2016-09-02fs: move SyncWriteStream to internal/fsJames M Snell
Move the implementation of SyncWriteStream to internal/fs. PR-URL: https://github.com/nodejs/node/pull/6749 Reviewed-By: Ron Korving <ron@ronkorving.nl> Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
2016-08-29build: fix dependencies on AIXMichael Dawson
Addon tests were still starting to run before the node exp file creation was complete. - remove process_outputs_as_sources as it did not fix the problem - update create_expfile.sh so that exp file is created in a temporary file and then renamed to final name so that file is only visible once it is complete - update target used in building Addons so that for AIX it depends on the exp file being available PR-URL: https://github.com/nodejs/node/pull/8285 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Myles Borins <myles.borins@gmail.com>
2016-08-25build: fix dependencies on AIXMichael Dawson
Addon tests were starting to run before the node exp file creation was complete. Add process_outputs_as_sources to avoid this. Fixes: https://github.com/nodejs/node/issues/8239 PR-URL: https://github.com/nodejs/node/pull/8272 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2016-08-09build: add correct shared library naming on OS XStewart Addison
The build system currently creates a shared library on OS X with the same name as on Linux i.e. libnode.so.48. This is inconsistent with the conventions on OS X which uses libnode.48.so This commit changes the build process and install.py (used by make binary) to build with the correct name on OS X when the --shared configure parameter is used. PR-URL: https://github.com/nodejs/node/pull/7687 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2016-08-09build: turn on thin static archivesBen Noordhuis
Thin archives were disabled in 2012 as a workaround (IIRC) for obsolete tooling on one of Joyent's platforms. The last binutils versions that didn't support them was released in 2007 so I think it's safe to assume we can drop support for that now - except on SmartOS, where the tooling still has a distinctive vintage feel to it. Thin archives save space - it shrinks the size of PRODUCT_DIR by 30% - and speed up the final linking step because it doesn't have to assemble 50 MB of static archives (twice! - first to create the archive, then to copy it to PRODUCT_DIR). The archives are just 3.5 MB now and no longer copied around. PR-URL: https://github.com/nodejs/node/pull/7957 Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: James M Snell <jasnell@gmail.com>
2016-08-08build: export zlib symbols on WindowsAlex Hultman
Base the generated openssl.def on existing zlib.def. We cannot specify more than one DEF file per executable so we need to merge the two DEF files to expose both OpenSSL and Zlib functionality to addons. If OpenSSL is not used, link against zlib.def itself. PR-URL: https://github.com/nodejs/node/pull/7983 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
2016-08-05build: windows sharedlib supportStefan Budeanu
Added "dll" option to vcbuild.bat Insure that Unix SO name is not used on Windows (i.e. produce a .dll file) Insure that Node and its V8 dependency link against the Visual C++ Runtime dynamically. Requires backported V8 patch, see PR 7802. Ref: https://github.com/nodejs/node/pull/7802 PR-URL: https://github.com/nodejs/node/pull/7487 Reviewed-By: Alexis Campailla <alexis@janeasystems.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2016-08-03build: fix typo in non-essential source file nameBen Noordhuis
Depend on src/inspector_agent.h, src/inspector-agent.h does not exist. The typo didn't break the build but it made some of the gyp-based tooling complain. PR-URL: https://github.com/nodejs/node/pull/7945 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Evan Lucas <evanlucas@me.com>
2016-07-28src: unifying PipeConnectWrap and TCPConnectWrapDaniel Bevenius
This commit attempts to address one of the items in #4641 which is related to src/pipe_wrap.cc and src/tcp_wrap.cc. Currently both pipe_wrap.cc and tcp_wrap.cc contain a class that are almost identical. This commit extracts these parts into a separate class that both can share. PR-URL: https://github.com/nodejs/node/pull/7501 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-07-27deps: update v8_inspectorAli Ijaz Sheikh
To add a LICENSE file along with the v8_inspector code, we need to pick up v8_inspector from an intermediate repository: https://github.com/pavelfeldman/v8_inspector. This repo still tracks upstream code in Blink. This roll also picks up the latest v8_inspector from upstream fixing a few issues. * Pickup commit id bc60957 from pavelfeldman/v8_inspector * Update node.gyp to adapt to the new file paths * Update the DevTools hash for the devtools frontend. Fixes: https://github.com/nodejs/node/issues/7123 Fixes: https://github.com/nodejs/node/issues/7736 Fixes: https://github.com/nodejs/node/issues/7734 PR-URL: https://github.com/nodejs/node/pull/7796 Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: jasnell - James M Snell <jasnell@gmail.com>
2016-07-25src: pull OnConnection from pipe_wrap and tcp_wrapDaniel Bevenius
One of the issues in #4641 concerns OnConnection in pipe_wrap and tcp_wrap which are very similar with some minor difference in how they are coded. This commit extracts OnConnection so both these classes can share the same implementation. PR-URL: https://github.com/nodejs/node/pull/7547 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-07-13build: export more openssl symbols on WindowsAlex Hultman
This exports even more openssl symbols when building on Windows. SSL_set_fd is one example of added symbol. PR-URL: https://github.com/nodejs/node/pull/7576 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Roman Reiss <me@silverwind.io>
2016-07-09build: add --enable-d8 configure optionBen Noordhuis
Add an option to the configure script for building d8. Useful for testing V8 standalone. PR-URL: https://github.com/nodejs/node/pull/7538 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
2016-07-09build: respect --shared-* flags for inspector depsСковорода Никита Андреевич
Don't build openssl/http_parser/libuv for v8_inspector if corresponding --shared-* flags were passed to the ./configure script. Fixes: https://github.com/nodejs/node/issues/7478 Fixes: https://github.com/nodejs/node/issues/7583 PR-URL: https://github.com/nodejs/node/pull/7569 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2016-07-05build: export openssl symbols on windowsBen Noordhuis
Export symbols from the bundled openssl for add-ons to link against. Fixes: https://github.com/nodejs/node-v0.x-archive/issues/4051 PR-URL: https://github.com/nodejs/node/pull/6274 Reviewed-By: James M Snell <jasnell@gmail.com>
2016-07-05build: enable big toc for release builds in AIXGireesh Punathil
AIX linker has a table of contents with default size 64K The recent code inclusions in V8 brings in lot of new symbols which necessitates to increase this default. Please note that the debug build already has this flag Fixes: https://github.com/nodejs/node/issues/7500 PR-URL: https://github.com/nodejs/node/pull/7508 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-06-30build: drop unconditional openssl dep from cctestBen Noordhuis
Don't link in openssl when building `./configure --without-inspector`, it's only used by the inspector cctests. Ditto libuv and http_parser. Fixes unnecessarily building openssl when `--shared-openssl` is also passed to configure. Fixes: https://github.com/nodejs/node/issues/7478 PR-URL: https://github.com/nodejs/node/pull/7486 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2016-06-29src: print backtrace on fatal errorBen Noordhuis
Print a C backtrace on fatal errors to make it easier to debug issues like https://github.com/nodejs/node/issues/6727. PR-URL: https://github.com/nodejs/node/pull/6734 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-06-29build: don't include V8 from node.gypMichaël Zasso
It is no longer necessary now that libplatform/libplatform.h uses proper includes. PR-URL: https://github.com/nodejs/node/pull/7016 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-06-28build: configure --sharedStefan Budeanu
Add configure flag for building a shared library that can be embedded in other applications (like Electron). Add flags --without-bundled-v8 and --without-v8-platform to control V8 dependencies used. PR-URL: https://github.com/nodejs/node/pull/6994 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2016-06-21src: use RAII for mutexes and condition variablesBen Noordhuis
We will be introducing many more critical sections in the upcoming multi-isolate changes, so let's make manual synchronization a thing of the past. PR-URL: https://github.com/nodejs/node/pull/7334 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2016-06-17deps: switch to upstream v8_inspectorAli Ijaz Sheikh
This change picks up v8_inspector directly from the upstream chromium repository [1]; dropping the intermediate repository. The upstream code has been refactored substantially to make it easy to share code without adaptation with Node.js. The deps/v8_inspector directory is now simply a gathering of dependencies: * platform/v8_inspector: vendored from [2]. * platform/inspector_protocol: vendored from [3]. * deps/jinja2: vendored from [4]. * deps/markupsafe: vendored from [5]. [1]: https://chromium.googlesource.com/chromium/src/third_party/WebKit/Source/platform [2]: https://chromium.googlesource.com/chromium/src/third_party/WebKit/Source/platform/v8_inspector [3]: https://chromium.googlesource.com/chromium/src/third_party/WebKit/Source/platform/inspector_protocol [4]: https://github.com/mitsuhiko/jinja2 [5]: https://github.com/mitsuhiko/markupsafe PR-URL: https://github.com/nodejs/node/pull/7302 Reviewed-By: indutny - Fedor Indutny <fedor.indutny@gmail.com> Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2016-06-14stream: improve Readable.read() performanceBrian White
read() performance is improved most by switching from an array to a linked list for storing buffered data. However, other changes that also contribute include: making some hot functions inlinable, faster read() argument checking, and misc code rearrangement to avoid unnecessary code execution. PR-URL: https://github.com/nodejs/node/pull/7077 Reviewed-By: Calvin Metcalf <calvin.metcalf@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2016-05-30src,lib: v8-inspector supportPavel Feldman
This change introduces experimental v8-inspector support. This brings the DevTools debug protocol allowing Node.js to be debugged with Chrome DevTools native, or through other debuggers supporting that protocol. Partial WebSocket support, to the extent required by DevTools, is included. This is derived from the implementation in Blink. v8-inspector support can be disabled by the --without-inspector configure flag. PR-URL: https://github.com/nodejs/node/pull/6792 Reviewed-By: jasnell - James M Snell <jasnell@gmail.com> Reviewed-By: addaleax - Anna Henningsen <anna@addaleax.net> Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2016-05-25src: add include guards to internal headersBen Noordhuis
For consistency with the newly added src/base64.h header, check that NODE_WANT_INTERNALS is defined and set in internal headers. PR-URL: https://github.com/nodejs/node/pull/6948 Refs: https://github.com/nodejs/node/pull/6910 Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2016-04-21src: add process.binding('config')James M Snell
It turns out that userland likes to override process.config with their own stuff. If we want to be able to depend on it in any way, we need our own internal mechanism. This adds a new private process.binding('config') that is intended to serve as a container for internal flags and compile time configs that need to be passed on to the JS layer. PR-URL: https://github.com/nodejs/node/pull/6266 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-04-05deps: reintroduce supporting shared c-ares buildsJohan Bergström
As of cc192f0e we've now in sync with upstream which means that we also can allow our users to build against a shared version of c-ares. Note: It is still up to users to make sure that the library version is on par with what Node.js bundles. This "reverts" commit 25fa5c4. PR-URL: https://github.com/nodejs/node/pull/5775 Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-03-29etw,build: always generate .rc and .h filesJoão Reis
We can assume the Windows SDK is installed, hence the intermediate files generated from manifest should not be part of the source tree. This also fixes incorrect detection of ctrpp.exe, that should be in the path. PR-URL: https://github.com/nodejs/node/pull/5657 Reviewed-By: Alexis Campailla <orangemocha@nodejs.org>
2016-03-25node: --no-browser-globals configure flagFedor Indutny
Introduce `--no-browser-globals` configure flag. With this flag set, following globals won't be exported: - `setTimeout`, `clearTimeout`, `setInterval`, `clearInterval`, `setImmediate`, `clearImmediate` - `console` These are provided by the DOM implementation in browser, so the `--no-browser-globals` flag may be helpful when embedding node.js within chromium/webkit. Inspired-By: https://github.com/atom/node/commit/82e10ce94f3c90234dac187f04a47d4d357ffd31 PR-URL: https://github.com/nodejs/node/pull/5853 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
2016-03-24process: add 'warning' event and process.emitWarning()James M Snell
In several places throughout the code we write directly to stderr to report warnings (deprecation, possible eventemitter memory leak). The current design of simply dumping the text to stderr is less than ideal. This PR introduces a new "process warnings" mechanism that emits 'warning' events on the global process object. These are invoked with a `warning` argument whose value is an Error object. By default, these warnings will be printed to stderr. This can be suppressed using the `--no-warnings` and `--no-deprecation` command line flags. For warnings, the 'warning' event will still be emitted by the process, allowing applications to handle the warnings in custom ways. The existing `--no-deprecation` flag will continue to supress all deprecation output generated by the core lib. The `--trace-warnings` command line flag will tell Node.js to print the full stack trace of warnings as part of the default handling. The existing `--no-deprecation`, `--throw-deprecation` and `--trace-deprecation` flags continue to work as they currently do, but the exact output of the warning message is modified to occur on process.nextTick(). The stack trace for the warnings and deprecations preserve and point to the correct call site. A new `process.emitWarning()` API is provided to permit userland to emit warnings and deprecations using the same consistent mechanism. Test cases and documentation are included. PR-URL: https://github.com/nodejs/node/pull/4782 Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Wyatt Preul <wpreul@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2016-03-22lib: rename /node.js to /bootstrap_node.jsJeremiah Senkpiel
PR-URL: https://github.com/nodejs/node/pull/5103 Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2016-03-22lib,src: move src/node.js to lib/internal/node.jsJeremiah Senkpiel
PR-URL: https://github.com/nodejs/node/pull/5103 Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2016-03-22lib,src: refactor src/node.js into internal filesJeremiah Senkpiel
PR-URL: https://github.com/nodejs/node/pull/5103 Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2016-02-09src: add --security-revert command line flagJames M Snell
The `--security-revert={cvenum}` command line flag is a special purpose flag to be used only in stable or LTS branches when a breaking change is required to address a security vulnerability. Whenever a vulnerability requires a breaking change, and a CVE has been assigned, the flag can be used to force Node to revert to the insecure behavior that was implemented before the fix was applied. Note that this flag is intended to be used only as a last resort in the case a security update breaks existing code. When used, a security warning will be printed to stderr when Node launches. The `--security-revert={cvenum}` flag takes a single CVE number as an argument. Multiple instances of the `--security-revert={cvenum}` flag can be used on the command line to revert multiple changes. Whenever a new `--security-revert={cvenum}` is enabled, it should be documented in the release notes and in the API docs. Master and the first release of a new major (e.g. v6.0) should not have any reverts available. Every time a new `--security-revert={cvenum}` is added, there should be a semver-minor bump in the stable and LTS branch. PR-URL: https://github.com/nodejs/node-private/pull/26 Reviewed-By: Rod Vagg <r@va.gg> Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-02-09build: fix build when python path contains spacesFelix Becker
PR-URL: https://github.com/nodejs/node/pull/4841 Reviewed-By: Benjamin Gruenbaum <inglor@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2016-01-30net: move isLegalPort to internal/netEvan Lucas
isLegalPort can be used in more places than just net.js. This change moves it to a new internal net module in preparation for using it in the dns module. PR-URL: https://github.com/nodejs/node/pull/4882 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2015-12-29tools: run tick processor without forkingMatt Loring
Using the tick processor no longer creates temporary files or spawns a child process. PR-URL: https://github.com/nodejs/node/pull/4224 Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: jasnell - James M Snell <jasnell@gmail.com>
2015-12-08tools: add --prof-process flag to node binaryMatt Loring
This change cleans up outstanding comments on #3032. It improves error handling when no isolate file is provided and adds the --prof-process flag to the node binary which executes the tick processor on the provided isolate file. PR-URL: https://github.com/nodejs/node/pull/4021 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Evan Lucas <evanlucas@me.com>
2015-11-25build,src: add Intel Vtune profiling supportChunyang Dai
This feature supports the Intel Vtune profiling support for JITted JavaScript on IA32 / X64 / X32 platform. The advantage of this profiling is that the user / developer of NodeJS application can get the detailed profiling information for every line of the JavaScript source code. This information will be very useful for the owner to optimize their applications. This feature is a compile-time option. For windows platform, the user needs to pass the following parameter to vcbuild.bat: "enable-vtune" For other OS, the user needs to pass the following parameter to ./configure command: "--enable-vtune-profiling" PR-URL: https://github.com/nodejs/node/pull/3785 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-11-19readline: deprecate undocumented exportscjihrig
This commit moves several of readline's undocumented functions into an internal module. Specifically, isFullWidthCodePoint, stripVTControlCharacters, getStringWidth, and emitKeys are moved to the internal module. The existing public exports of the first three functions are given a deprecation notice. Refs: https://github.com/nodejs/node/pull/3847 Fixes: https://github.com/nodejs/node/issues/3836 PR-URL: https://github.com/nodejs/node/pull/3862 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Brian White <mscdex@mscdex.net>
2015-11-11lib,test: remove publicly exposed freelistcjihrig
The freelist module was deprecated in io.js and moved to an internal module. This commit removes public access to freelist, while leaving the internal module, which is still in use. Fixes: https://github.com/nodejs/node/issues/569 PR-URL: https://github.com/nodejs/node/pull/3738 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Michaël Zasso <mic.besace@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2015-11-06cluster: remove handles when disconnecting workerBen Noordhuis
Due to the race window between the master's "disconnect" message and the worker's "handle received" message, connections sometimes got stuck in the pending handles queue when calling `worker.disconnect()` in the master process. The observable effect from the client's perspective was a TCP or HTTP connection that simply stalled. This commit fixes that by closing open handles in the master when the "disconnect" message is sent. Fixes: https://github.com/nodejs/node/issues/3551 PR-URL: https://github.com/nodejs/node/pull/3677 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2015-10-23build: Updates for AIX npm support - part 1Michael Dawson
This PR is the first step enabling support for native modules for AIX. The main issue is that unlike linux where all symbols within the Node executable are available to the shared library for a native module (npm), on AIX the symbols must be explicitly exported. In addition, when the shared library is built it must be linked using a list of the available symbols. This patch covers the changes need to: 1) Export the symbols when building the node executable 2) Generate the file listing the symbols that can be used when building the shared library. For AIX, it breaks the build process into 2 steps. The first builds a static library and then generates a node.exp file which contains the symbols from that library. The second builds the node executable and uses the node.exp file to specify which symbols should be exported. In addition, it save the node.exp file so that it can later be used in the creation of the shared library when building a native module. The following additional steps will be required in dependent projects to fully enable AIX for native modules and are being worked separately: - Updates to node-gyp to use node.exp when creating the shared library for a native module - Fixes to gyp related to copying files as covered in https://codereview.chromium.org/1368133002/patch/1/10001 - Pulling in updated gyp versions to Node and node-gyp - Pulling latest libuv These changes were done to minimize the change to other platforms by working within the existing structure to add the 2 step process for AIX without changing the process for other platforms. PR-URL: https://github.com/nodejs/node/pull/3114 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-10-08lib,test: deprecate _linklistRich Trott
Deprecate _linklist and add test to confirm internal linklist and public _linklist are the same. PR-URL: https://github.com/nodejs/node/pull/3078 Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-10-07src: replace naive search in Buffer::IndexOfKarl Skomski
Adds the string search implementation from v8 which uses naive search if pattern length < 8 or to a specific badness then uses Boyer-Moore-Horspool Added benchmark shows the expected improvements Added option to use ucs2 encoding with Buffer::IndexOf Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Trevor Norris <trev.norris@gmail.com> PR-URL: https://github.com/nodejs/node/pull/2539