isaacs [Fri, 18 Jan 2013 19:49:12 +0000 (11:49 -0800)]
Merge branch 'v0.9.7-release'
isaacs [Fri, 18 Jan 2013 16:42:54 +0000 (08:42 -0800)]
2013.01.18, Version 0.9.7 (Unstable)
* V8: Upgrade to 3.15.11.7
* npm: Upgrade to 1.2.2
* punycode: Upgrade to 1.2.0 (Mathias Bynens)
* repl: make built-in modules available by default (Felix Böhm)
* windows: add support for '_Total' perf counters (Scott Blomquist)
* cluster: make --prof work for workers (Ben Noordhuis)
* child_process: do not keep list of sent sockets (Fedor Indutny)
* tls: Follow RFC6125 more strictly (Fedor Indutny)
* buffer: floating point read/write improvements (Trevor Norris)
* TypedArrays: Improve dataview perf without endian param (Dean McNamee)
* module: assert require() called with a non-empty string (Felix Böhm, James Campos)
* stdio: Set readable/writable flags properly (isaacs)
* stream: Properly handle large reads from push-streams (isaacs)
isaacs [Fri, 18 Jan 2013 18:17:26 +0000 (10:17 -0800)]
doc: Remove mention of child.send 'track' option
Will be removed very soon. No point making it public.
isaacs [Fri, 18 Jan 2013 18:03:54 +0000 (10:03 -0800)]
buffer: Define INFINITY for MSVC compiler
isaacs [Fri, 18 Jan 2013 16:37:32 +0000 (08:37 -0800)]
npm: Upgrade to 1.2.2
Ben Noordhuis [Fri, 18 Jan 2013 11:44:10 +0000 (12:44 +0100)]
cluster: make --prof work for workers
Profiling in clustered environments doesn't work out of the box.
By default, V8 writes the profile data of all processes to a single
v8.log.
Running that log file through a tick processor produces bogus numbers
because many events won't match up with the recorded memory mappings
and you end up with graphs where 80+% of ticks is unaccounted for.
Fixing the tick processor to deal with multi-process output is not very
useful because the processes may be running wildly disparate workloads.
That's why we fix up the command line arguments to include
a "--logfile=v8-%p.log" argument (where %p is expanded to the PID)
unless it already contains a --logfile argument.
Fixes #4617.
Ben Noordhuis [Fri, 18 Jan 2013 00:23:34 +0000 (01:23 +0100)]
v8: add %p option to --logfile, expands to pid
Useful when you are profiling multiple instances of V8 concurrently.
Submitted upstream: http://code.google.com/p/v8/issues/detail?id=2503
Refs #4617.
Fedor Indutny [Mon, 14 Jan 2013 17:08:20 +0000 (21:08 +0400)]
child_process: do not keep list of sent sockets
Keeping list of all sockets that were sent to child process causes memory
leak and thus unacceptable (see #4587). However `server.close()` should
still work properly.
This commit introduces two options:
* child.send(socket, { track: true }) - will send socket and track its status.
You should use it when you want to receive `close` event on sent sockets.
* child.send(socket) - will send socket without tracking it status. This
performs much better, because of smaller number of RTT between master and
child.
With both of these options `server.close()` will wait for all sent
sockets to get closed.
Fedor Indutny [Thu, 17 Jan 2013 23:13:10 +0000 (03:13 +0400)]
Revert "child_process: do not keep list of sent sockets"
This reverts commit
db5ee0b3decace9b5d80ee535ce53183aff02909.
isaacs [Thu, 17 Jan 2013 22:54:59 +0000 (14:54 -0800)]
benchmark: Add resume() in static_http_server
Fedor Indutny [Mon, 14 Jan 2013 17:08:20 +0000 (21:08 +0400)]
child_process: do not keep list of sent sockets
Keeping list of all sockets that were sent to child process causes memory
leak and thus unacceptable (see #4587). However `server.close()` should
still work properly.
This commit introduces two options:
* child.send(socket, { track: true }) - will send socket and track its status.
You should use it when you want `server.connections` to be a reliable
number, and receive `close` event on sent sockets.
* child.send(socket) - will send socket without tracking it status. This
performs much better, because of smaller number of RTT between master and
child.
With both of these options `server.close()` will wait for all sent
sockets to get closed.
isaacs [Thu, 17 Jan 2013 21:20:22 +0000 (13:20 -0800)]
Revert "events: Don't crash on events named __proto__"
Unfortunately, it's just too slow to do this in events.js. Users will
just have to live with not having events named __proto__ or toString.
This reverts commit
b48e303af023dc60b6f6590694ba94d9b8108702.
isaacs [Thu, 17 Jan 2013 17:52:48 +0000 (09:52 -0800)]
stdio: Set readable/writable flags properly
Set the readable/writable flags properly in net streams that have
a handle passed in (such as TTY streams).
Fix #4606
isaacs [Wed, 16 Jan 2013 19:26:28 +0000 (11:26 -0800)]
events: Don't crash on events named __proto__
This prefixes all event names internally with 'ev'.
Ryunosuke SATO [Thu, 17 Jan 2013 09:12:03 +0000 (18:12 +0900)]
doc: modify documentation style about 'Stability: 5'
'Stability: 5' is described as 'Locked' not as 'API Locked'
in other documents.
For example:
- `/doc/api/assert.markdown`
- `/doc/api/util.markdown`
This word was injected in 192192a.
Ben Noordhuis [Wed, 16 Jan 2013 22:38:02 +0000 (23:38 +0100)]
deps: upgrade libuv to 4ba03dd
isaacs [Wed, 16 Jan 2013 20:27:53 +0000 (12:27 -0800)]
test: add module-loading test with empty string
Felix Böhm [Wed, 16 Jan 2013 18:53:16 +0000 (19:53 +0100)]
module: assert that require() is called with a string
as requested in #4577
isaacs [Wed, 16 Jan 2013 20:07:12 +0000 (12:07 -0800)]
lint: Prefer double-quotes over single
Ryunosuke SATO [Tue, 11 Dec 2012 10:13:22 +0000 (19:13 +0900)]
repl: fix how to module requiring in code comment
This module requiring style is old.
This API has been changed in Node 0.1.16
726865af.
Dean McNamee [Tue, 15 Jan 2013 18:35:52 +0000 (19:35 +0100)]
TypedArrays: Improve dataview perf without endian param
V8 seems to be particularly slow converting an undefined value to false
in BooleanValue.
Revert this when we upgrade to V8 3.17, or whenever the fix discussed
in http://code.google.com/p/v8/issues/detail?id=2487 lands in V8.
James Campos [Wed, 9 Jan 2013 17:01:22 +0000 (09:01 -0800)]
assert that require() has a truthy path
isaacs [Wed, 16 Jan 2013 00:44:29 +0000 (16:44 -0800)]
stream: Properly handle large reads from push-streams
Problem 1: If stream.push() triggers a 'readable' event, and the user
calls `read(n)` with some n > the highWaterMark, then the push() will
return false (indicating that they should not push any more), but no
future 'readable' event is coming (because we're above the
highWaterMark).
Solution: return true from push() when needReadable is set.
Problem 2: A read(n) for n != 0, after the stream had encountered an
EOF, would not trigger the 'end' event if the EOF was pushed in
synchronously by the _read() function.
Solution: Check for ended in stream.read() and schedule an end event if
the length now equals 0.
Fix #4585
Trevor Norris [Fri, 11 Jan 2013 00:59:39 +0000 (16:59 -0800)]
buffer: improve read/write speed with assert
Improved assert check order of execution and added additional checks on
parameters to ensure no bad values make it through (e.g. negative offset
values).
Trevor Norris [Sat, 22 Dec 2012 21:06:50 +0000 (13:06 -0800)]
buffer: floating point read/write improvements
Improvements:
* floating point operations are approx 4x's faster
* Now write quiet NaN's
* all read/write on floating point now done in C, so no more need for
lib/buffer_ieee754.js
* float values have more accurate min/max value checks
* add additional benchmarks for buffers read/write
* created benchmark/_bench_timer.js which is a simple library that
can be included into any benchmark and provides an intelligent tracker
for sync and async tests
* add benchmarks for DataView set methods
* add checks and tests to make sure offset is greater than 0
Alexandr Emelin [Thu, 10 Jan 2013 07:38:29 +0000 (11:38 +0400)]
http: fix duplicate var initialization
IncomingMessage function contained duplicate initialization
of this._pendings. Line with one of those expressions has been
removed.
Mathias Bynens [Fri, 11 Jan 2013 08:57:24 +0000 (09:57 +0100)]
punycode: update to v1.2.0
This update adds support for RFC 3490 separators for improved
compatibility with web browsers.
Ben Noordhuis [Tue, 15 Jan 2013 22:42:23 +0000 (23:42 +0100)]
v8: work around String::WriteAscii segfault
See http://code.google.com/p/v8/issues/detail?id=2493 for details.
Once the patch lands in upstream V8, this commit can be reverted.
Fedor Indutny [Mon, 14 Jan 2013 23:29:46 +0000 (03:29 +0400)]
tls: follow RFC6125 more stricly
* Allow wildcards only in left-most part of hostname identifier.
* Do not match CN if altnames are present
isaacs [Tue, 15 Jan 2013 00:03:38 +0000 (16:03 -0800)]
streams2: Do not allow hwm < lwm
There was previously an assert() in there, but this part of the code is
so high-volume that the added cost made a measurable dent in http_simple.
Just checking inline is fine, though, and prevents a lot of potential
hazards.
isaacs [Mon, 14 Jan 2013 19:25:39 +0000 (11:25 -0800)]
stream: Do not call endReadable on a non-empty stream
Say that a stream's current read queue has 101 bytes in it, and the
underlying resource has ended (ie, reached EOF).
If you do something like this:
stream.read(100); // leave a byte behind
stream.read(0); // read(0) for some reason
then the read(0) will get 0 from the howMuchToRead function. Since the
stream was ended, this was incorrectly treating the 0 as a "there is no
more in the buffer", and emitting 'end' before that last byte was read.
Why have the read(0) in the first place? We do this in some cases to
trigger the last few bytes of a net socket (such as a child process's
stdio pipes). This was causing issues when piping a `git archive` job
to a file: the resulting tarball was incomplete, because it occasionally
was not getting the last chunk.
Bert Belder [Sat, 5 Jan 2013 21:14:50 +0000 (22:14 +0100)]
buffer: zero-length buffers shouldn't be slab-backed
Fedor Indutny [Mon, 14 Jan 2013 17:09:35 +0000 (21:09 +0400)]
tls: allow wildcards in common name
see #4592
Ben Noordhuis [Mon, 14 Jan 2013 12:06:29 +0000 (13:06 +0100)]
gitignore: ignore perf data files
yangguo@chromium.org [Tue, 18 Dec 2012 09:48:51 +0000 (09:48 +0000)]
v8: Hardfloat does not imply VFPv3, only VFPv2.
Raspberry Pi is an example.
BUG=v8:2393
Review URL: https://chromiumcodereview.appspot.com/
11570061
Patch from Chi-Thanh Christopher Nguyen <nguyenchithanh@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
This is a backport of v8/v8@
44419ad089b729a1aab4a5f27c0833e2ce69d28b.
Ben Noordhuis [Sun, 13 Jan 2013 00:29:34 +0000 (01:29 +0100)]
deps: upgrade libuv to 8e3e60f
Nathan Rajlich [Sat, 12 Jan 2013 20:14:39 +0000 (12:14 -0800)]
repl: fix lint
Felix Böhm [Sat, 12 Jan 2013 20:07:06 +0000 (12:07 -0800)]
repl: make built-in modules available by default
Closes #3564.
Closes #4578.
Scott Blomquist [Fri, 11 Jan 2013 21:24:15 +0000 (22:24 +0100)]
windows: add support for '_Total' perf counters
Ben Noordhuis [Thu, 3 Jan 2013 01:33:40 +0000 (02:33 +0100)]
v8: remove optimization switches
Remove compiler switches from $(TOPLEVEL)/deps/v8/build/common.gypi,
we set them globally in $(TOPLEVEL)/common.gypi.
Commit 7b4d95a introduced the switches again, resulting in V8 getting
built without any optimizations.
This commit is essentially a rehash of commit 4b8629d.
Fedor Indutny [Fri, 11 Jan 2013 20:10:45 +0000 (00:10 +0400)]
deps: update v8 to 3.15.11.7
isaacs [Fri, 11 Jan 2013 19:25:54 +0000 (11:25 -0800)]
Now working on 0.9.7
isaacs [Fri, 11 Jan 2013 19:25:37 +0000 (11:25 -0800)]
Merge branch 'v0.9.6-release'
isaacs [Fri, 11 Jan 2013 18:49:21 +0000 (10:49 -0800)]
2013.01.11, Version 0.9.6 (Unstable)
* V8: update to 3.15.11.5
* node: remove ev-emul.h (Ben Noordhuis)
* path: make basename and extname ignore trailing slashes (Bert Belder)
* typed arrays: fix sunos signed/unsigned char issue (Ben Noordhuis)
* child_process: Fix {stdio:'inherit'} regression (Ben Noordhuis)
* child_process: Fix pipe() from child stdio streams (Maciej Małecki)
* child_process: make fork() execPath configurable (Bradley Meck)
* stream: Add readable.push(chunk) method (isaacs)
* dtrace: x64 ustack helper (Fedor Indutny)
* repl: fix floating point number parsing (Nirk Niggler)
* repl: allow overriding builtins (Ben Noordhuis)
* net: add localAddress and localPort to Socket (James Hight)
* fs: make pool size coincide with ReadStream bufferSize (Shigeki Ohtsu)
* typed arrays: implement load and store swizzling (Dean McNamee)
* windows: fix perfctr crash on XP and 2003 (Scott Blomquist)
* dgram: fix double implicit bind error (Ben Noordhuis)
isaacs [Fri, 11 Jan 2013 18:18:07 +0000 (10:18 -0800)]
Merge remote-tracking branch 'ry/v0.8' into master
Conflicts:
AUTHORS
ChangeLog
Makefile
src/node_version.h
Bert Belder [Fri, 11 Jan 2013 17:42:46 +0000 (18:42 +0100)]
path: make basename and extname ignore trailing slashes
Fixes #4536
Ben Noordhuis [Fri, 11 Jan 2013 17:31:47 +0000 (18:31 +0100)]
typed arrays: fix sunos signed/unsigned char issue
The int8_t and uint8_t typedefs on sunos/smartos depend on a number of
compiler directives. Avoid ambiguity and specify signed and unsigned
char explicitly.
Fixes the following build error:
../src/stream_wrap.cc: In static member function 'static void*
node::WriteWrap::operator new(size_t)':
../src/stream_wrap.cc:70:49: warning: no return statement in function
returning non-void [-Wreturn-type]
In file included from ../src/v8_typed_array.cc:26:0:
../src/v8_typed_array_bswap.h: In function 'T
v8_typed_array::SwapBytes(T) [with T = signed char]':
../src/v8_typed_array_bswap.h:150:23: instantiated from 'T
v8_typed_array::LoadAndSwapBytes(void*) [with T = signed char]'
../src/v8_typed_array.cc:694:7: instantiated from 'static
v8::Handle<v8::Value> {anonymous}::DataView::getGeneric(const
v8::Arguments&) [with T = signed char]'
../src/v8_typed_array.cc:738:40: instantiated from here
../src/v8_typed_array_bswap.h:125:16: error: size of array is
negative
isaacs [Fri, 11 Jan 2013 01:15:53 +0000 (17:15 -0800)]
test: child process { stdio:'inherit' }
Fedor Indutny [Fri, 11 Jan 2013 17:01:14 +0000 (21:01 +0400)]
Revert "typed arrays: fix build on sunos"
This reverts commit
35a137cf8dcec75fd4cc11bbd8eb22cc2c1d7ece.
Fedor Indutny [Fri, 11 Jan 2013 15:52:49 +0000 (19:52 +0400)]
typed arrays: fix build on sunos
Bert Belder [Fri, 11 Jan 2013 15:19:21 +0000 (16:19 +0100)]
Revert "path: fix bugs related to paths with trailing slashes"
It only does the right thing on unix, and the implementation
isn't great either.
This reverts commit
bb1c03989f8702e06072e6d9228b52661bf00ace.
Ben Noordhuis [Fri, 11 Jan 2013 12:49:45 +0000 (13:49 +0100)]
deps: upgrade libuv to 9aab5d4
isaacs [Fri, 11 Jan 2013 02:16:43 +0000 (18:16 -0800)]
http: Set _dumped=false initially
The better to keep the IncomingMessage class isomorphic and avoid
creating additional hidden classes.
Andreas Madsen [Tue, 8 Jan 2013 17:22:04 +0000 (18:22 +0100)]
path: fix bugs related to paths with trailing slashes
Nathan Rajlich [Fri, 11 Jan 2013 01:13:59 +0000 (17:13 -0800)]
configure: define "arm_fpu" and "arm_neon" for ARM
v8's common.gypi file expects them to be defined now.
Closes #4534.
Nathan Rajlich [Fri, 11 Jan 2013 00:59:09 +0000 (16:59 -0800)]
make binary: allow custom config flags
For example, to cross-compile from my OS X laptop for Raspberry Pi, you would
do something like:
$ make binary BINARYNAME=node-v`python tools/getnodeversion.py`-linux-arm-pi \
DESTCPU=arm CONFIG_FLAGS="--dest-os=linux"
yangguo@chromium.org [Tue, 18 Dec 2012 09:48:51 +0000 (09:48 +0000)]
v8: Hardfloat does not imply VFPv3, only VFPv2.
Raspberry Pi is an example.
BUG=v8:2393
Review URL: https://chromiumcodereview.appspot.com/
11570061
Patch from Chi-Thanh Christopher Nguyen <nguyenchithanh@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
This is a backport of v8/v8@
44419ad089b729a1aab4a5f27c0833e2ce69d28b.
isaacs [Tue, 8 Jan 2013 04:33:56 +0000 (20:33 -0800)]
http: Don't switch the socket into old-mode
isaacs [Tue, 8 Jan 2013 04:23:07 +0000 (20:23 -0800)]
http: Use stream.push() instead of touching _readableState
isaacs [Tue, 8 Jan 2013 02:07:37 +0000 (18:07 -0800)]
net: Use readable.push() instead of private methods
isaacs [Thu, 10 Jan 2013 21:49:19 +0000 (13:49 -0800)]
stream: Use push() for Transform._output()
This also slightly changes the semantics, in that a 'readable'
event may be triggered by the first write() call, even if a
user has not yet called read().
This happens because the Transform _write() handler is calling
read(0) to start the flow of data. Technically, the new behavior
is more 'correct', since it is more in line with the semantics
of the 'readable' event in other streams.
isaacs [Tue, 8 Jan 2013 03:40:08 +0000 (19:40 -0800)]
stream: Use push() for readable.wrap()
isaacs [Tue, 8 Jan 2013 02:07:17 +0000 (18:07 -0800)]
stream: Add readable.push(chunk) method
isaacs [Thu, 10 Jan 2013 15:47:09 +0000 (07:47 -0800)]
blog, changelog: 0.8.17 was released in 2013, not 2012
isaacs [Thu, 10 Jan 2013 03:05:37 +0000 (19:05 -0800)]
blog: Correct shasums for v0.8.17
isaacs [Thu, 10 Jan 2013 01:21:16 +0000 (17:21 -0800)]
blog: Add security notice to v0.8.17 post
isaacs [Thu, 10 Jan 2013 01:08:24 +0000 (17:08 -0800)]
blog: Post about v0.8.17
isaacs [Thu, 10 Jan 2013 01:07:33 +0000 (17:07 -0800)]
Now working on 0.8.18
isaacs [Thu, 10 Jan 2013 01:07:21 +0000 (17:07 -0800)]
Merge branch 'v0.8.17-release' into v0.8
Ben Noordhuis [Thu, 10 Jan 2013 00:58:30 +0000 (01:58 +0100)]
test: run tests in alphabetical order
isaacs [Thu, 10 Jan 2013 00:04:21 +0000 (16:04 -0800)]
2012.01.09, Version 0.8.17 (Stable)
* npm: Upgrade to v1.2.0
- peerDependencies (Domenic Denicola)
- node-gyp v0.8.2 (Nathan Rajlich)
- Faster installs from github user/project shorthands (Nathan Zadoks)
* typed arrays: fix 32 bit size/index overflow (Ben Noordhuis)
* http: Improve performance of single-packet responses (Ben Noordhuis)
* install: fix openbsd man page location (Ben Noordhuis)
* http: bubble up parser errors to ClientRequest (Brian White)
Ben Noordhuis [Wed, 9 Jan 2013 23:39:44 +0000 (00:39 +0100)]
typed arrays: fix 32 bit size/index overflow
Fix an out-of-bound read/write bug due to integer wrapping. Reported by
Dean McNamee.
isaacs [Wed, 9 Jan 2013 23:21:30 +0000 (15:21 -0800)]
npm: Upgrade to v1.2.0
Dean McNamee [Sun, 6 Jan 2013 17:59:12 +0000 (18:59 +0100)]
typed arrays: implement load and store swizzling
Implement load and store swizzling operations. This reduces an unneeded
back and forth between types and additionally keeps the value in the
swappable type until it is swapped. This is important for correctness
when dealing with floating point, to avoid the possibility of loading
the bits of a signaling NaN (because it isn't yet swapped) into the FPU.
This additionally produces better code (comments are mine):
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
setValue<double>:
movd %xmm0, %rax ; fp reg -> gen reg
bswapq %rax ; 64-bit byte swap
movq %rax, (%r15,%r12) ; store
Dean McNamee [Sat, 5 Jan 2013 21:06:35 +0000 (22:06 +0100)]
typed arrays: swizzle with compiler intrinsics
Implement swizzling with compiler intrinsics and be aware of the native
endianness to correctly swap on big endian machines.
This introduces a template function to swap the bytes of a value,
and macros for the low level swap (taking advantage of gcc and msvc
intrinsics). This produces code like the following (comments are mine):
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
setValue<double>:
movd %xmm0, %rax ; fp reg -> gen reg
bswapq %rax ; 64-bit byte swap
movd %rax, %xmm0 ; gen reg -> fp reg
movq %xmm0, (%r15,%r12) ; store
Ben Noordhuis [Tue, 8 Jan 2013 16:08:58 +0000 (17:08 +0100)]
typed arrays: undo local changes
Partially revert 5664dd2, 6573fc3 and 7788a6b to ease landing changes
from upstream.
Fedor Indutny [Fri, 4 Jan 2013 12:37:38 +0000 (16:37 +0400)]
object_wrap: add missing HandleScope
by Sven Panne's suggestion, see [0] for details.
[0]: https://code.google.com/p/v8/issues/detail?id=2468
Shigeki Ohtsu [Wed, 9 Jan 2013 02:17:06 +0000 (11:17 +0900)]
stream: fix typo
Also: Revert "stream: Override addListener as well as on"
This reverts commit
18c985919d93df97561157ab8e7de70f4e22dd44.
isaacs [Tue, 8 Jan 2013 22:27:01 +0000 (14:27 -0800)]
stream: Override addListener as well as on
For the compatibility switch.
Fedor Indutny [Tue, 8 Jan 2013 17:56:55 +0000 (21:56 +0400)]
streams: set listener first, emit 'data' later
When switching into compatibility mode by setting `data` event listener,
`_read()` method will be called immediately. If method implementation
invokes callback in the same tick - all emitted `data` events will be
discarded, because `data` listener wasn't set yet.
Tim Bradshaw [Mon, 31 Dec 2012 18:44:51 +0000 (18:44 +0000)]
doc: os.cpus() returns times in milliseconds
Dean McNamee [Sun, 23 Dec 2012 22:43:51 +0000 (23:43 +0100)]
typed arrays: don't declare as module
TypedArrays is not a module, it is attached to the global object.
Don't register it with Node's module system.
Dean McNamee [Tue, 18 Dec 2012 19:03:41 +0000 (20:03 +0100)]
typed arrays: replace switch with templates
Convert TypedArray's TypeName implementation to template specialization
instead of a switch() statement.
Shigeki Ohtsu [Mon, 7 Jan 2013 01:37:35 +0000 (10:37 +0900)]
net: fix bufferSize include writableStream length
socket.bufferSize missed to include the length of internal buffers in
writableStream.
Ben Noordhuis [Tue, 8 Jan 2013 03:27:34 +0000 (04:27 +0100)]
dgram: don't assert on send('string')
Raise a TypeError when the argument to send() or sendto() is anything
but a Buffer.
Fixes the following assertion:
$ node -e 'require("dgram").createSocket("udp4").send("BAM")'
node: ../../src/udp_wrap.cc:220: static v8::Handle<v8::Value>
node::UDPWrap::DoSend(const v8::Arguments&, int): Assertion
`Buffer::HasInstance(args[0])' failed.
Aborted (core dumped)
Fixes #4496.
Mike Harsch [Mon, 7 Jan 2013 05:29:38 +0000 (22:29 -0700)]
build: fail w/err msg when missing binutils
Building --with-dtrace requires objdump from GNU binutils.
This change inserts a helpful error message if there is a
problem executing objdump.
isaacs [Mon, 7 Jan 2013 20:31:44 +0000 (12:31 -0800)]
dtrace: More style
Continuation lines should be indented with 4 spaces, not a tab.
isaacs [Mon, 7 Jan 2013 20:20:21 +0000 (12:20 -0800)]
dtrace: Make D style more D-ish
Fedor Indutny [Thu, 27 Dec 2012 03:16:23 +0000 (07:16 +0400)]
dtrace: x64 ustack helper
Fedor Indutny [Mon, 7 Jan 2013 18:53:50 +0000 (22:53 +0400)]
dtrace: fix style in ustack helper
isaacs [Mon, 7 Jan 2013 18:30:15 +0000 (10:30 -0800)]
dtrace: SeqAsciiString was renamed to SeqOneByteString in v8
Ben Noordhuis [Sun, 6 Jan 2013 23:15:59 +0000 (00:15 +0100)]
src: pass node_isolate to Undefined()
Ben Noordhuis [Sun, 6 Jan 2013 22:55:56 +0000 (23:55 +0100)]
src: pass node_isolate to Null()
Ben Noordhuis [Sun, 6 Jan 2013 23:09:31 +0000 (00:09 +0100)]
src: pass node_isolate to True() and False()
Ben Noordhuis [Sun, 6 Jan 2013 22:52:35 +0000 (23:52 +0100)]
src: pass node_isolate to Local<>::New
Ben Noordhuis [Sun, 6 Jan 2013 22:33:09 +0000 (23:33 +0100)]
src: pass node_isolate to Integer::New
Ben Noordhuis [Sun, 6 Jan 2013 22:09:39 +0000 (23:09 +0100)]
src: pass node_isolate to String::Empty
Ben Noordhuis [Sun, 6 Jan 2013 22:06:48 +0000 (23:06 +0100)]
src: make node_isolate global
V8 3.15 has new API functions that let you specify the Isolate. V8 and
node.js generally spend 0.5-3.5% of the time in pthread_getspecific(),
looking up the current Isolate. Avoid that overhead by making "our"
isolate global so we can pass it around. The change to the new API is
introduced in follow-up commits.
isaacs [Mon, 7 Jan 2013 14:29:00 +0000 (06:29 -0800)]
child_process: Pull through untouched stdio streams
Otherwise child procs will never emit a 'close' event if you don't
ever consume their streams, because they will never hit the EOF.
isaacs [Mon, 7 Jan 2013 14:10:35 +0000 (06:10 -0800)]
stream: Clean up more effectively in pipe()