platform/upstream/nodejs.git
11 years agoinstall: use os.path.join() to create the npm shebang
Nathan Rajlich [Sat, 4 Aug 2012 07:12:52 +0000 (00:12 -0700)]
install: use os.path.join() to create the npm shebang

Prettier formatting for the shebang if the "prefix" ends with a /

12 years agoinstall: install the "wafadmin" files into the correct directory
Nathan Rajlich [Sat, 4 Aug 2012 07:10:58 +0000 (00:10 -0700)]
install: install the "wafadmin" files into the correct directory

Before they were just being copied into "lib/node/".
Now they go into "lib/node/wafadmin/".

12 years agoinstaller: prevent ETXTBSY errors
Ben Noordhuis [Sat, 4 Aug 2012 00:41:32 +0000 (02:41 +0200)]
installer: prevent ETXTBSY errors

The installer does what amounts to `cp -p`. If the node binary is in use at
the time of the copy, it'd fail with a ETXTBSY error. That's why it's unlinked
first now.

12 years agoinstaller: honor --without-npm, default install path
Ben Noordhuis [Sat, 4 Aug 2012 00:18:16 +0000 (02:18 +0200)]
installer: honor --without-npm, default install path

* honor the --without-waf and --without-npm configure switches

* a small logic bug made the installer script install to $PWD instead of
  /usr/local if --prefix= was not passed to configure

12 years agonet: make pause work with connecting sockets
Bert Belder [Fri, 3 Aug 2012 15:11:08 +0000 (17:11 +0200)]
net: make pause work with connecting sockets

This fixes the problem that calling pause() on a socket would not
actually prevent 'data' events from being emitted. It also replaces
the existing test by a more elaborate one.

Ref: #3118

12 years agoblog: Fix date on 0.8.5 release
isaacs [Thu, 2 Aug 2012 22:00:57 +0000 (15:00 -0700)]
blog: Fix date on 0.8.5 release

12 years agoBlog post about 0.8.5
isaacs [Thu, 2 Aug 2012 21:59:47 +0000 (14:59 -0700)]
Blog post about 0.8.5

12 years agoNow working on 0.8.6
isaacs [Thu, 2 Aug 2012 21:58:15 +0000 (14:58 -0700)]
Now working on 0.8.6

12 years agoMerge branch 'v0.8.5-release' into v0.8
isaacs [Thu, 2 Aug 2012 21:57:34 +0000 (14:57 -0700)]
Merge branch 'v0.8.5-release' into v0.8

12 years ago2012.08.02, Version 0.8.5 (Stable) v0.8.5
isaacs [Thu, 2 Aug 2012 15:12:22 +0000 (08:12 -0700)]
2012.08.02, Version 0.8.5 (Stable)

* node: tag Encode and friends NODE_EXTERN (Ben Noordhuis)

* fs: fix ReadStream / WriteStream missing callback (Gil Pedersen)

* fs: fix readFileSync("/proc/cpuinfo") regression (Ben Noordhuis)

* installer: don't assume bash is installed (Ben Noordhuis)

* Report errors properly from --eval and stdin (isaacs)

* assert: fix throws() throws an error without message property (koichik)

* cluster: fix libuv assert in net.listen() (Ben Noordhuis)

* build: always link sunos builds with libumem (Trent Mick)

* build: improve armv7 / hard-float detection (Adam Malcontenti-Wilson)

* https: Use host header as effective servername (isaacs)

* sunos: work around OS bug to prevent fs.watch() from spinning (Bryan Cantrill)

* linux: fix 'two watchers, one path' segfault (Ben Noordhuis)

* windows: fix memory leaks in many fs functions (Bert Belder)

* windows: don't allow directories to be opened for writing/appending (Bert Belder)

* windows: make fork() work even when not all stdio handles are valid (Bert Belder)

* windows: make unlink() not remove mount points, and improve performance (Bert Belder)

* build: Sign pkg installer for OS X (isaacs)

12 years agobuild: Sign pkg installer for OS X
isaacs [Thu, 2 Aug 2012 20:35:41 +0000 (13:35 -0700)]
build: Sign pkg installer for OS X

This makes the installer work on Mountain Lion.

12 years agodoc: improve cluster.workers documentation
Ben Noordhuis [Thu, 2 Aug 2012 15:47:33 +0000 (17:47 +0200)]
doc: improve cluster.workers documentation

12 years agotest: stdin error messages
isaacs [Thu, 2 Aug 2012 15:11:09 +0000 (08:11 -0700)]
test: stdin error messages

12 years agonpm: Upgrade to 1.1.46
isaacs [Thu, 2 Aug 2012 02:10:42 +0000 (19:10 -0700)]
npm: Upgrade to 1.1.46

12 years agoinstaller: fix cross-compile installs
Ben Noordhuis [Wed, 1 Aug 2012 23:06:31 +0000 (01:06 +0200)]
installer: fix cross-compile installs

The old installer was a JS script, which didn't work if node had been
cross-compiled for another architecture. Replace it with a python script.

Fixes #3807.

12 years agonet: fix .listen({fd:0})
Ben Noordhuis [Thu, 2 Aug 2012 11:37:02 +0000 (13:37 +0200)]
net: fix .listen({fd:0})

12 years agodeps: remove openssl apps and tests
Ben Noordhuis [Thu, 2 Aug 2012 10:11:35 +0000 (12:11 +0200)]
deps: remove openssl apps and tests

Shrinks the tarball by a few hundred kilobytes and fixes a broken symlinks
issue on Windows.

Fixes #3813.

12 years agonode: tag Encode and friends NODE_EXTERN
Ben Noordhuis [Wed, 1 Aug 2012 23:35:51 +0000 (01:35 +0200)]
node: tag Encode and friends NODE_EXTERN

Makes the symbols visible on Windows. They were already visible on Unices.

Fixes #3811.

12 years agofs: fix ReadStream / WriteStream missing callback
Gil Pedersen [Wed, 1 Aug 2012 14:04:28 +0000 (16:04 +0200)]
fs: fix ReadStream / WriteStream missing callback

The (undocumented) callback argument to .destroy() was not called if the
stream was no longer readable / writable.

12 years agofs: fix readFileSync("/proc/cpuinfo") regression
Ben Noordhuis [Wed, 1 Aug 2012 18:25:24 +0000 (20:25 +0200)]
fs: fix readFileSync("/proc/cpuinfo") regression

Don't use positional reads. Not all proc files support pread(), especially on
older linux kernels.

Fixes #3808.

12 years agoblog: Remove all windows line endings once and for all
isaacs [Wed, 1 Aug 2012 17:14:17 +0000 (10:14 -0700)]
blog: Remove all windows line endings once and for all

12 years agoupdate profiling blog post to use shell redirection instead of -o
Dave Pacheco [Wed, 1 Aug 2012 17:04:27 +0000 (10:04 -0700)]
update profiling blog post to use shell redirection instead of -o

12 years agoblog: Remove ^M chars from profiling-node-js blog post
isaacs [Wed, 1 Aug 2012 17:11:30 +0000 (10:11 -0700)]
blog: Remove ^M chars from profiling-node-js blog post

12 years agoinstaller: don't assume bash is installed
Ben Noordhuis [Wed, 1 Aug 2012 11:36:56 +0000 (13:36 +0200)]
installer: don't assume bash is installed

Use `/bin/sh` instead of `bash` when running the relocate.sh script.

12 years agouv: upgrade to 6209fe5
Bert Belder [Tue, 31 Jul 2012 23:42:36 +0000 (01:42 +0200)]
uv: upgrade to 6209fe5

12 years agodoc: http: document res.write() `drain` return value
Eugen Dueck [Tue, 31 Jul 2012 04:15:46 +0000 (13:15 +0900)]
doc: http: document res.write() `drain` return value

12 years agov8: don't show performance warnings when compiling with msvc
Bert Belder [Tue, 31 Jul 2012 22:52:37 +0000 (00:52 +0200)]
v8: don't show performance warnings when compiling with msvc

Patch sent upstream: http://codereview.chromium.org/10829109/

12 years agodocs: remove unused require from example
Bert Belder [Tue, 31 Jul 2012 19:38:58 +0000 (21:38 +0200)]
docs: remove unused require from example

Closes GH-3801

12 years agouv: upgrade to 69c2ef8
Bert Belder [Tue, 31 Jul 2012 19:26:26 +0000 (21:26 +0200)]
uv: upgrade to 69c2ef8

12 years agodeps, tools: remove stray reject files
Ben Noordhuis [Tue, 31 Jul 2012 11:45:16 +0000 (13:45 +0200)]
deps, tools: remove stray reject files

12 years agodoc: document child_process.fork() limitation
Ben Noordhuis [Tue, 31 Jul 2012 01:09:04 +0000 (03:09 +0200)]
doc: document child_process.fork() limitation

12 years agodoc: Remove timeout arg in child_process.fork
isaacs [Mon, 30 Jul 2012 18:01:50 +0000 (11:01 -0700)]
doc: Remove timeout arg in child_process.fork

Fix #3784

12 years agodoc: fix domains example
Shigeki Ohtsu [Mon, 30 Jul 2012 09:26:25 +0000 (18:26 +0900)]
doc: fix domains example

Need `utf8` encoding for JSON.parse and fix to avoid JSON.parse error when only
one argument is passed in domain.bind

12 years agoReport errors properly from --eval and stdin
isaacs [Sat, 28 Jul 2012 21:00:27 +0000 (14:00 -0700)]
Report errors properly from --eval and stdin

12 years agoassert: fix throws() throws an error without message property
koichik [Sat, 24 Mar 2012 07:00:14 +0000 (16:00 +0900)]
assert: fix throws() throws an error without message property

Fixes #2893.

12 years agocluster: fix libuv assert in net.listen()
Ben Noordhuis [Sat, 28 Jul 2012 23:59:26 +0000 (01:59 +0200)]
cluster: fix libuv assert in net.listen()

Problem: calling `server.listen()` (no port) on a net.Server triggered the
following libuv assertion:

  node: ../deps/uv/src/unix/stream.c:406: uv__write: Assertion `fd_to_send >= 0'
  failed.

Cause: uv_tcp_t handles are lazily initialized. Omitting the port made the
handle get initialized even more lazily. Too lazily - it wasn't initialized
when the handle was sent over to the child process.

Solution: implicitly bind to a random port in listen() when the port number
is omitted, it forces the handle to initialize. This is not a change in
behavior, listen() has always been identical to listen(0).

Fixes #3325.

12 years agodeps: upgrade libuv to 4fe1916
Ben Noordhuis [Sat, 28 Jul 2012 14:50:55 +0000 (16:50 +0200)]
deps: upgrade libuv to 4fe1916

12 years agonode: use variadic functions in ev-emul.h
Ben Noordhuis [Sat, 28 Jul 2012 12:10:10 +0000 (14:10 +0200)]
node: use variadic functions in ev-emul.h

Fixes #3786.

12 years agoalways link sunos builds with libumem
Trent Mick [Fri, 27 Jul 2012 17:56:40 +0000 (10:56 -0700)]
always link sunos builds with libumem

12 years agobuild: improve armv7 / hard-float detection
Adam Malcontenti-Wilson [Sat, 23 Jun 2012 01:39:10 +0000 (11:39 +1000)]
build: improve armv7 / hard-float detection

12 years agohttps: Use host header as effective servername
isaacs [Wed, 25 Jul 2012 19:00:25 +0000 (12:00 -0700)]
https: Use host header as effective servername

12 years agoassert: remove unnecessary use of __proto__
Nathan Rajlich [Wed, 25 Jul 2012 17:34:13 +0000 (10:34 -0700)]
assert: remove unnecessary use of __proto__

AssertionError already inherits from Error above using util.inherits(),
so this extra line was redundant.

test/simple/test-assert.js already tests for `instanceof`, and still passes.

12 years agoBlog post for 0.8.4
isaacs [Wed, 25 Jul 2012 17:38:41 +0000 (10:38 -0700)]
Blog post for 0.8.4

12 years agoNow working on v0.8.5
isaacs [Wed, 25 Jul 2012 17:28:03 +0000 (10:28 -0700)]
Now working on v0.8.5

12 years agoMerge branch 'v0.8.4-release' into v0.8
isaacs [Wed, 25 Jul 2012 17:26:03 +0000 (10:26 -0700)]
Merge branch 'v0.8.4-release' into v0.8

12 years agoFix #3761 build: Default to V=1
isaacs [Tue, 24 Jul 2012 23:19:08 +0000 (16:19 -0700)]
Fix #3761 build: Default to V=1

12 years ago2012.07.25, Version 0.8.4 (Stable) v0.8.4
isaacs [Tue, 24 Jul 2012 23:04:40 +0000 (16:04 -0700)]
2012.07.25, Version 0.8.4 (Stable)

* V8: Upgrade to 3.11.10.17

* npm: Upgrade to 1.1.45

* net: fix Socket({ fd: 42 }) api (Ben Noordhuis)

* readline: Remove event listeners on close (isaacs)

* windows: correctly prep long path for fs.exists(Sync) (Bert Belder)

* debugger: wake up the event loop when a debugger command is dispatched (Peter Rybin)

* tls: verify server's identity (Fedor Indutny)

* net: ignore socket.setTimeout(Infinity or NaN) (Fedor Indutny)

12 years agoBuild: add jslintfix
isaacs [Wed, 25 Jul 2012 00:06:50 +0000 (17:06 -0700)]
Build: add jslintfix

12 years agonet.js: lint
isaacs [Wed, 25 Jul 2012 00:05:22 +0000 (17:05 -0700)]
net.js: lint

12 years agonet: fix Socket({ fd: 42 }) api
Ben Noordhuis [Tue, 17 Jul 2012 13:16:23 +0000 (15:16 +0200)]
net: fix Socket({ fd: 42 }) api

Make the implementation match the documentation. This should work:

  var s = new net.Socket({ fd: 42, allowHalfOpen: true };

And now it does.

12 years agoreadline: Remove event listeners on close
isaacs [Tue, 24 Jul 2012 03:44:12 +0000 (20:44 -0700)]
readline: Remove event listeners on close

Fix #3756

12 years agov8: Reapply floating patches
isaacs [Tue, 24 Jul 2012 21:19:50 +0000 (14:19 -0700)]
v8: Reapply floating patches

12 years agoV8: Upgrade to 3.11.10.17
isaacs [Tue, 24 Jul 2012 21:18:47 +0000 (14:18 -0700)]
V8: Upgrade to 3.11.10.17

12 years agonpm: Upgrade to 1.1.45
isaacs [Tue, 24 Jul 2012 19:34:13 +0000 (12:34 -0700)]
npm: Upgrade to 1.1.45

This includes node-gyp 0.6.1

12 years agowindows: correctly prep long path for fs.exists(Sync)
Bert Belder [Mon, 23 Jul 2012 09:26:03 +0000 (11:26 +0200)]
windows: correctly prep long path for fs.exists(Sync)

Closes GH-3739

12 years agodebugger: wake up the event loop when a debugger command is dispatched
Peter Rybin [Tue, 3 Jul 2012 19:21:37 +0000 (23:21 +0400)]
debugger: wake up the event loop when a debugger command is dispatched

When the event loop was blocked in epoll / kqueue or similar, debugger
commands wouldn't be processed. This patch fixes that by adding an
uv_async handle which is triggered when a debugger command is
dispatched. The async handle's callback makes sure that V8 is entered.

Closes GH-3626
Closes GH-3718

12 years agohttp: remove duplicate assignments
Brian White [Mon, 23 Jul 2012 02:08:13 +0000 (23:08 -0300)]
http: remove duplicate assignments

Closes GH-3754

12 years agodoc: remove duplicate section
koichik [Sat, 21 Jul 2012 17:33:06 +0000 (02:33 +0900)]
doc: remove duplicate section

Fixes #3750.

12 years agotls: pass linting
Fedor Indutny [Fri, 20 Jul 2012 18:07:16 +0000 (22:07 +0400)]
tls: pass linting

12 years agotls: fix 'hostless' tls connection verification
Fedor Indutny [Fri, 20 Jul 2012 17:43:12 +0000 (21:43 +0400)]
tls: fix 'hostless' tls connection verification

And fix last failing tests

12 years agotls: revert accidental API change
Fedor Indutny [Fri, 20 Jul 2012 17:10:23 +0000 (21:10 +0400)]
tls: revert accidental API change

socket.authorizationError should always be string. Also make sni test
pass.

12 years agotls: localhost is valid against identity-check
Fedor Indutny [Fri, 20 Jul 2012 16:47:05 +0000 (20:47 +0400)]
tls: localhost is valid against identity-check

12 years agoRevert "http/https: pass request to .createConnection()"
Fedor Indutny [Fri, 20 Jul 2012 16:51:02 +0000 (20:51 +0400)]
Revert "http/https: pass request to .createConnection()"

This reverts commit 53716eb0b5338999761d115fad9d392077836e63.

12 years agotls: veryify server's identity
Fedor Indutny [Wed, 11 Jul 2012 19:54:20 +0000 (23:54 +0400)]
tls: veryify server's identity

12 years agohttp/https: pass request to .createConnection()
Fedor Indutny [Wed, 11 Jul 2012 19:53:27 +0000 (23:53 +0400)]
http/https: pass request to .createConnection()

It's useful for passing some additional options of request object to the
underlying API

12 years agonet: ignore socket.setTimeout(Infinity) (and NaN)
Fedor Indutny [Mon, 16 Jul 2012 17:41:26 +0000 (21:41 +0400)]
net: ignore socket.setTimeout(Infinity) (and NaN)

12 years agonpm: Upgrade to 1.1.44
isaacs [Thu, 19 Jul 2012 20:03:28 +0000 (13:03 -0700)]
npm: Upgrade to 1.1.44

12 years agoBlog post about v0.8.3
isaacs [Thu, 19 Jul 2012 17:20:44 +0000 (10:20 -0700)]
Blog post about v0.8.3

12 years agoNow working on 0.8.4
isaacs [Thu, 19 Jul 2012 17:19:45 +0000 (10:19 -0700)]
Now working on 0.8.4

12 years agoMerge branch 'v0.8.3-release' into v0.8
isaacs [Thu, 19 Jul 2012 17:19:04 +0000 (10:19 -0700)]
Merge branch 'v0.8.3-release' into v0.8

12 years ago2012.07.19, Version 0.8.3 (Stable) v0.8.3
isaacs [Tue, 17 Jul 2012 19:02:57 +0000 (12:02 -0700)]
2012.07.19, Version 0.8.3 (Stable)

* V8: upgrade to 3.11.10.15

* npm: Upgrade to 1.1.43

* net: fix net.Server.listen({fd:x}) error reporting (Ben Noordhuis)

* net: fix bogus errno reporting (Ben Noordhuis)

* build: Move npm shebang logic into an npm script (isaacs)

* build: fix add-on loading on freebsd (Ben Noordhuis)

* build: disable unsafe optimizations (Ben Noordhuis)

* build: fix spurious mksnapshot crashes for good (Ben Noordhuis)

* build: speed up genv8constants (Dave Pacheco)

* fs: make unwatchFile() remove a specific listener (Ben Noordhuis)

* domain: Remove first arg from intercepted fn (Toshihiro Nakamura)

* domain: Fix memory leak on error (isaacs)

* events: Fix memory leak from removeAllListeners (Nathan Rajlich)

* zlib: Fix memory leak in Unzip class. (isaacs)

* crypto: Fix memory leak in DecipherUpdate() (Ben Noordhuis)

12 years agouv: Upgrade to 94355e4
isaacs [Thu, 19 Jul 2012 16:29:29 +0000 (09:29 -0700)]
uv: Upgrade to 94355e4

12 years agouv: Upgrade to 94355e4
isaacs [Thu, 19 Jul 2012 16:29:29 +0000 (09:29 -0700)]
uv: Upgrade to 94355e4

12 years agobuild: unbreak ustack on smartos
Ben Noordhuis [Thu, 19 Jul 2012 16:20:34 +0000 (18:20 +0200)]
build: unbreak ustack on smartos

I disabled the -ffunction-sections and -fdata-sections switches in 202df30
because they're horribly buggy with some gcc/binutils combos.

However, it turns out that the dtrace/ustack post-processing tool requires
that V8 is compiled with said switches and was broken because of it.

This commit turns them on again on SunOS systems. Let's hope for the best.

12 years agobuild: link with -rdynamic, not -Wl,--export-dynamic
Ben Noordhuis [Wed, 18 Jul 2012 22:08:35 +0000 (00:08 +0200)]
build: link with -rdynamic, not -Wl,--export-dynamic

The system linker on SunOS doesn't understand --export-dynamic.

12 years agobuild: fix mksnapshot crash on sunos
Ben Noordhuis [Wed, 18 Jul 2012 21:26:23 +0000 (21:26 +0000)]
build: fix mksnapshot crash on sunos

Unconditionally compile V8 with -fno-strict-aliasing on all platforms.

gcc 4.5.2 on sunos generates bad code when -fstrict-aliasing is enabled, which
undoubtedly means that there are more buggy versions of gcc out there.

-fstrict-aliasing does not give a significant performance boost so let's just
disable it.

Fixes #3736.

12 years agodoc: build requires GNU make 3.81+
Ben Noordhuis [Wed, 18 Jul 2012 12:23:39 +0000 (14:23 +0200)]
doc: build requires GNU make 3.81+

12 years agonode: make ev-emul.h compile with -Wextra -Werror
Ben Noordhuis [Wed, 18 Jul 2012 11:32:26 +0000 (13:32 +0200)]
node: make ev-emul.h compile with -Wextra -Werror

Explicitly cast double to int64_t, it was making add-ons that compile with
`-Wall -Wextra -Werror` fail to build.

Don't use fully variadic macros, gcc in uber-strict mode rejects them.

12 years agodoc: advise *strongly* against uncaughtException
Ben Noordhuis [Wed, 18 Jul 2012 00:13:55 +0000 (02:13 +0200)]
doc: advise *strongly* against uncaughtException

12 years agouv: Upgrade to b49d6f7
isaacs [Wed, 18 Jul 2012 00:09:34 +0000 (17:09 -0700)]
uv: Upgrade to b49d6f7

12 years agotools: speed up genv8constants
Dave Pacheco [Tue, 17 Jul 2012 22:25:11 +0000 (15:25 -0700)]
tools: speed up genv8constants

genv8constants was much slower than necessary due to lack of pipe buffering.

12 years agov8: Reapply floating patches
isaacs [Tue, 17 Jul 2012 18:44:01 +0000 (11:44 -0700)]
v8: Reapply floating patches

12 years agov8: upgrade to 3.11.10.15
isaacs [Tue, 17 Jul 2012 18:43:02 +0000 (11:43 -0700)]
v8: upgrade to 3.11.10.15

12 years agouv: Upgrade to a9f6f06
isaacs [Tue, 17 Jul 2012 18:40:13 +0000 (11:40 -0700)]
uv: Upgrade to a9f6f06

12 years agonpm: Upgrade to 1.1.43
isaacs [Tue, 17 Jul 2012 18:37:39 +0000 (11:37 -0700)]
npm: Upgrade to 1.1.43

12 years agodomain: Fix stack leak on error
isaacs [Mon, 16 Jul 2012 23:38:11 +0000 (16:38 -0700)]
domain: Fix stack leak on error

12 years agodoc: fix bug in child_process.spawn() sample code
Mike Morearty [Fri, 13 Jul 2012 21:18:52 +0000 (14:18 -0700)]
doc: fix bug in child_process.spawn() sample code

12 years agobenchmark: add single process tls connection benchmark
Bert Belder [Fri, 13 Jul 2012 23:43:34 +0000 (01:43 +0200)]
benchmark: add single process tls connection benchmark

12 years agodoc: update 'Fork me at Github' ribbon
George Shank [Sun, 24 Jun 2012 02:03:00 +0000 (20:03 -0600)]
doc: update 'Fork me at Github' ribbon

Replace 'Fork me at Github' ribbon with a new one fitting the website's color
scheme.

12 years agobuild: Move npm shebang logic into an npm script
isaacs [Fri, 13 Jul 2012 19:08:10 +0000 (12:08 -0700)]
build: Move npm shebang logic into an npm script

This allows us to run npm's scripts/relocate.sh script whenever
necessary, if for example node has been 'make install'ed into one
folder, and then you wish to move it into another one.

12 years agonpm: upgrade to 1.1.41
isaacs [Fri, 13 Jul 2012 18:40:38 +0000 (11:40 -0700)]
npm: upgrade to 1.1.41

12 years agobuild: fix add-on loading on freebsd
Ben Noordhuis [Thu, 12 Jul 2012 23:43:14 +0000 (01:43 +0200)]
build: fix add-on loading on freebsd

Link with -Wl,--export-dynamic, makes symbols from the node binary visible to
binary add-ons.

Fixes "undefined symbol: _ZN2v811HandleScopeC1Ev" errors when loading add-ons
on FreeBSD and likely other BSDs.

Fixes #3623.

12 years agoRevert "events: don't delete the listeners array in removeListener()"
Nathan Rajlich [Thu, 12 Jul 2012 22:40:45 +0000 (15:40 -0700)]
Revert "events: don't delete the listeners array in removeListener()"

This reverts commit 928ea564d16da47e615ddac627e0b4d4a40d8196.

Keeping the original Array instance in-place essentially causes a memory leak
on EventEmitters that use an infinite number of event names (an incrementing
counter, for example), which isn't an unreasonable thing to want to do.

Fixes #3702.

12 years agonet: fix net.Server.listen({fd:x}) error reporting
Ben Noordhuis [Thu, 12 Jul 2012 16:16:57 +0000 (18:16 +0200)]
net: fix net.Server.listen({fd:x}) error reporting

* don't assert when fd isn't an open file descriptor

* don't die with a ReferenceError when fd isn't a file descriptor
  you can listen() on

Fixes #3699.

12 years agonet: fix bogus errno reporting
Ben Noordhuis [Thu, 12 Jul 2012 14:56:42 +0000 (16:56 +0200)]
net: fix bogus errno reporting

_listen2() emits the error on the next tick. The errno value may have changed
by then.

12 years agobuild: partially fix configure on ARM
Ben Noordhuis [Thu, 12 Jul 2012 14:29:43 +0000 (16:29 +0200)]
build: partially fix configure on ARM

V8 on ARM requires that armv7 is set. We don't have a good way to detect the
CPU model right now so we pick a default and hope that it works okay for the
majority of people.

Non-scientific sampling - the ARM hardware I have lying around the house -
suggests that ARMv5 and ARMv6 are still most common so armv7=0 it is.

This obviously needs to be revisited sometime in the future.

12 years agobuild: disable unsafe optimizations
Ben Noordhuis [Thu, 12 Jul 2012 13:42:44 +0000 (15:42 +0200)]
build: disable unsafe optimizations

Compile at -O2 and disable optimizations that trigger gcc bugs.

Some people still reported mksnapshot crashes after commit b40f813 ("build: fix
spurious mksnapshot crashes for good" - so much for that).

Average performance of the -O2 binary is on par with the -O3 binary. Variance
on the http_simple bytes/8 benchmark appears to be slightly greater but small
enough that the possibly of it being noise cannot be excluded.

The new binary very slightly but consistently outperforms the -O3 binary (by
about 0.5%) on the mostly CPU-bound bytes/102400 benchmark. That could be an
artifact of the system I benchmarked it on, a Core 2 Duo with a puny 32 kB of
L1 instruction cache. The smaller binary seems to play nicer with the cache.

12 years agoMerge branch 'v0.6' into v0.8
Bert Belder [Thu, 12 Jul 2012 01:30:04 +0000 (03:30 +0200)]
Merge branch 'v0.6' into v0.8

12 years agoNow working on 0.6.21
isaacs [Wed, 11 Jul 2012 17:15:03 +0000 (10:15 -0700)]
Now working on 0.6.21

12 years agotools: fix shebang in tools/doc/generate.js
Philipp Hagemeister [Tue, 10 Jul 2012 14:50:49 +0000 (16:50 +0200)]
tools: fix shebang in tools/doc/generate.js