The data contained in this repository can be downloaded to your computer using one of several clients.
Please see the documentation of your version control software client for more information.

Please select the desired protocol below to get the URL.

This URL has Read-Only access.

Statistics
| Branch: | Revision:

main_repo / src / node.js @ 6f92da2d

History | View | Annotate | Download (24.2 KB)

# Date Author Comment
6a5a7b08 07/31/2013 12:25 PM Trevor Norris

node: add inTick and lastThrew to infoBox

To prevent all unnecessary calls to JS from MakeCallback, the remaining
two immediate return variables inTick and lastThrew have been added to
infoBox. Now MakeCallback should never need to call into JS unless it...

ca9eb718 07/20/2013 06:09 AM Ben Noordhuis

src, lib: update after internal api change

Libuv now returns errors directly. Make everything in src/ and lib/
follow suit.

The changes to lib/ are not strictly necessary but they remove the need
for the abominations that are process._errno and node::SetErrno().

0161ec87 07/20/2013 06:04 AM Ben Noordhuis

src, lib: deduplicate errnoException

3a2f273b 06/18/2013 06:39 PM Trevor Norris

buffer: use smalloc as backing data store

Memory allocations are now done through smalloc. The Buffer cc class has
been removed completely, but for backwards compatibility have left the
namespace as Buffer.

The .parent attribute is only set if the Buffer is a slice of an...

4b31a2d8 05/30/2013 07:51 PM Trevor Norris

process: use Tock for nextTickQueue items

v8 plays very well with constructed objects, so we're using one in the
nextTickQueue.

bcb85a1d 05/30/2013 06:09 PM Trevor Norris

src: remove old comment code

Now that maxTickDepth no longer exists there's no depth index on
infoBox. Forgot to remove the comment about this.

b846842a 05/30/2013 05:51 PM Trevor Norris

process: remove spinner

Remove the need to call start/stop the uv_idle spinner between
MakeCallbacks. The one place where the tick processor needs to be kicked
is where a user catches uncaughtException. For that we'll now use
setImmediate, which accomplishes the same task.

9a6c0853 05/30/2013 12:33 PM Trevor Norris

process: remove max tick check for domains

maxTickDepth checks have been removed for domains and replaced with a
flag that checks if the last callback threw. If it did then execution of
the remaining tickQueue is deferred to the spinner.

This is to prevent domains from entering a continuous loop when an error...

0761c902 05/30/2013 12:30 PM Trevor Norris

process: remove maxTickDepth from _tickCallback

Removes the check for maxTickDepth for non-domain callbacks. So a user
can starve I/O by setting a recursive nextTick.

The domain case is more complex and will be addressed in another commit.

5b636fea 05/30/2013 12:29 PM Trevor Norris

process: relocate needSpinner calls

It's only necessary to request the spinner once tickDone has been
called, and not on every nextTick.

c0818093 04/29/2013 05:38 PM Andrew Paprocki

vm: add support for timeout argument

Add a watchdog class which executes a timer in a separate event loop in
a separate thread that will terminate v8 execution if it expires.

Add timeout argument to functions in vm module which use the watchdog
if a non-zero timeout is specified.

f0b68892 03/27/2013 12:26 AM Trevor Norris

domain: fix domain callback from MakeCallback

Since _tickCallback and _tickDomainCallback were both called from
MakeCallback, it was possible for a callback to be called that required
a domain directly to _tickCallback.

The fix was to implement process.usingDomains(). This will set all...

bf83251e 03/19/2013 07:16 PM Bert Belder

windows: enable watching signals with process.on('SIGXYZ')

This reverts commit ea1cba6246a8b1784e22d076139b9244a9ff42f8.

The offending commit was intended to land on the v0.8 branch only, but
it accidentally got merged at some point.

Closes #5054.

e99dff46 03/14/2013 10:55 AM Ben Noordhuis

deps: upgrade libuv to 7b66ea1

80472bc3 03/09/2013 10:00 AM isaacs

domain: Fix double-exit on nested domains

Minor oversight in fix for #4953.

7c9ff8e9 03/08/2013 11:26 PM isaacs

lint

29cd0f2a 03/08/2013 05:46 PM isaacs

domains: Handle errors thrown in nested error handlers

If a domain error handler throws, it should be caught if it was
in a stack of nested domains.

Fix #4953

5038f401 03/06/2013 02:44 PM isaacs

node: Add --throw-deprecation

Extremely handy when tracking down a flood of recursive nextTick warnings.

dd6432dc 03/05/2013 05:06 PM Nathan Rajlich

process: invoke EventEmitter on `process`

This properly sets the `_maxListeners` property, which
fixes the max listener warning. Closes #4924.

12d0f0bd 02/28/2013 05:11 PM Ben Noordhuis

lib, src: remove errno global

Remove the errno global. It's a property on the process object now.

Fixes #3095.

0c1e7b53 02/27/2013 07:37 PM Trevor Norris

process: separate nextTick domain logic

It's cleaner to only load domain ticker logic when the domains are being
used. This makes execution slightly quicker in both cases, and simpler
from the spinner since there is no need to check if the latest callback...

875e4a0c 02/27/2013 07:29 PM isaacs

core: Remove the nextTick for running the main file

Not necessary, since we can handle the error properly on the first tick
now, even if there are event listeners, etc.

Additionally, this removes the unnecessary "_needTickCallback" from
startup, since Module.loadMain() will kick off a nextTick callback right...

3b2e9d26 02/21/2013 06:23 PM isaacs

stream: remove lowWaterMark feature

It seems like a good idea on the face of it, but lowWaterMarks are
actually not useful, and in practice should always be set to zero.

It would be worthwhile for writers if we actually did some kind of
writev() type of thing, but actually this just delays calling write()...

7301ba39 02/21/2013 01:31 PM Trevor Norris

process: fix bug where spinner wasn't called

Apperently there is a case where calling the spinner was required after
passing a callback to nextTick(). This fixes that issue.

ec420006 02/15/2013 09:37 PM Trevor Norris

process: allow ticker to cross communicate better

Using external memory values allows for quick communication between js
and cc land, so we can check if the js land callback needs to be run.
(this is where I meant that manually tracking nextTickQueue.length would...

86c0745a 02/15/2013 09:13 PM Trevor Norris

process: streamlining tick callback logic

  • Callbacks from spinner now calls its own function, separate from the
    tickCallback logic
  • MakeCallback will call a domain specific function if a domain is
    detected
  • _tickCallback assumes no domains, until nextTick receives a callback...
95ac576b 02/15/2013 09:13 PM isaacs

Revert "Move MakeCallback to JS"

This reverts commit 0109a9f90acdfdb287436676f2384f7b072fbb6a.

Also included: Port all the changes to process._makeCallback into the
C++ version. Immediate nextTick, etc.

This yields a slight boost in several benchmarks. V8 is optimizing and...

234551a2 02/10/2013 09:22 AM Ben Noordhuis

buffer: fix Buffer::HasInstance() check

It was returning true for typed arrays. Check that the object was
instantiated with the Buffer constructor.

916aebab 02/01/2013 06:58 PM isaacs

debugger: Make the debugger timeout configurable

If the NODE_DEBUGGER_TIMEOUT environment variable is set, then use
that as the number of ms to wait for the debugger to start.

This is primarily to work around a race condition that almost never
happens in real usage with the debugger, but happens EVERY FRACKING...

01681091 01/30/2013 12:04 PM isaacs

node: Do not use fn.apply() in process._makeCallback

14c911de 01/18/2013 04:26 PM Dave Olszewski

domain: empty stack on all exceptions

Due to the nature of asyncronous programming, it's impossible to know
what will run on the next tick. Because of this, it's not correct to
maintain domain stack state between ticks

Since the _fatalException handler is only invoked after the stack is...

6c80ef01 12/29/2012 07:53 PM isaacs

node: emit 'exit' when exiting with error

Fix #3555

ec8ebaf3 12/29/2012 01:37 PM isaacs

domain: use camelCase instead of snake_case

While it's true that error objects have a history of getting snake_case
properties attached by the host system, it's a point of confusion to
Node users that comes up a lot. It's still 'experimental', so best to...

4401bb47 12/29/2012 01:37 PM isaacs

domain: Do not use uncaughtException handler

This adds a process._fatalException method which is called into from
C++ in order to either emit the 'uncaughtException' method, or emit
'error' on the active domain.

The 'uncaughtException' event is an implementation detail that it would...

24492482 12/21/2012 02:05 PM isaacs

stdio: Do not read from stdout/err

This fixes windows stdio pipes in streams2 land.

bb56dcc4 12/14/2012 01:52 PM isaacs

tty/stdin: Refactor for streams2

372cb32d 12/13/2012 08:00 PM isaacs

module: Support cycles in native module requires

21c741f2 10/29/2012 01:53 PM isaacs

Print warning when maxTickDepth is reached

972cdf82 09/04/2012 09:02 AM Ben Noordhuis

Merge remote-tracking branch 'origin/v0.8'

Conflicts:
deps/uv/include/uv.h
src/node_crypto.cc

ea1cba62 09/03/2012 01:05 PM Bert Belder

windows: don't blow when a signal handler is attached

Blowing up when the user attaches a signal handler makes no sense. Also,
in Node 0.10 signals will be supported, so allow people to get used to
it.

985e3a25 08/27/2012 04:03 PM isaacs

lint

600a6468 08/20/2012 06:18 PM Bert Belder

process: use uv_signal instead of ev_signal

382f22f2 08/11/2012 06:07 PM Timothy J Fontaine

timers: implement setImmediate

3bf1846b 08/03/2012 07:23 PM isaacs

Merge remote-tracking branch 'ry/v0.8'

Conflicts:
ChangeLog
deps/uv/src/unix/sunos.c
deps/uv/test/test-tcp-unexpected-read.c
src/node_version.h

b3cf3f35 07/30/2012 11:21 AM isaacs

Report errors properly from --eval and stdin

430d94ef 07/19/2012 01:29 PM isaacs

nextTick: Preserve depth in error/reentry cases

When there is an error that is thrown in a nextTick function, which is
then handled by a domain or other process.on('uncaughtException')
handler, if the error handler also adds a nextTick and triggers
multiple MakeCallback events (ie, by doing some I/O), then it would...

19ecc17e 07/17/2012 12:05 AM isaacs

nextTick: explicitly no-op when _exiting

4e5fe2d4 07/17/2012 12:05 AM isaacs

nextTick: Handle tick callbacks after each tick

0109a9f9 07/16/2012 09:45 PM isaacs

Move MakeCallback to JS

a9b0bcfa 07/06/2012 10:28 PM Jonas Westerlund

Assign to property of global, instead of implicit global variable

Fixes crash in strict mode.

441e7928 06/21/2012 10:36 PM isaacs

stdin.pipe: Replace forgotten opts member

5ec05663 06/21/2012 07:16 PM isaacs

Fix #3503: stdin: resume() on pipe(dest)

5b39929d 06/21/2012 03:05 PM isaacs

Add --no-deprecation and --trace-deprecation flags

6d70a4ae 06/17/2012 04:14 PM Andreas Madsen

node: change the constructor name of process from EventEmitter to process

10f85fad 06/12/2012 05:30 PM Bert Belder

Fix child_process.kill oddities

  • When the process is already dead, but the `exit` signal wasn't raised
    yet, the ESRCH error should be ignored.
  • When an invalid signal is specified, kill() should throw.
  • Like process.kill(), child_process.kill() now preserves a `0` signal...
af98fc9d 06/01/2012 12:52 PM Fedor Indutny

child_process: new stdio API for .spawn() method

81a4edcf 05/21/2012 05:27 PM Andreas Madsen

cluster: remove NODE_UNIQUE_ID from env on startup

In case a worker would spawn a new subprocess with process.env, NODE_UNIQUE_ID
would have been a part of the env. Making the new subprocess believe it is a
worker, this would result in some confusion if the subprocess where to listen to...

5164ae38 05/15/2012 02:37 PM isaacs

Merge remote-tracking branch 'ry/v0.6' into v0.6-merge

Conflicts:
ChangeLog
deps/uv/include/uv-private/uv-unix.h
deps/uv/src/unix/core.c
deps/uv/src/unix/sunos.c
deps/v8/src/runtime.cc
doc/api/crypto.markdown
lib/http.js
src/node_version.h
test/gc/test-http-client-timeout.js...

bd907174 05/14/2012 01:19 AM Ben Noordhuis

node: delete NODE_CHANNEL_FD from env

Prevents accidental inheritance by child processes. If the child process is a
node process, it would try to set up a channel with the parent and consequently
never quit because the channel kept the event loop alive.
...

07be9fc3 05/09/2012 06:12 PM isaacs

Merge remote-tracking branch 'ry/v0.6' into v0.6-merge

Conflicts:
Makefile
lib/zlib.js
src/node.cc
src/node.js

81403336 05/09/2012 02:54 PM Felix Geisendörfer

Fix process.nextTick throw call sites

This patch now reports the proper throw call site for exceptions
triggered within process.nextTick. So instead of this:

node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^...

b894521b 05/01/2012 05:09 PM Nathan Rajlich

process: ensure that "exit" doesn't get emitted twice on a natural exit

Fixes "test/simple/test-process-exit.js".

98b4596a 04/25/2012 11:10 PM Nathan Rajlich

process: lint

0b5235e6 04/24/2012 02:30 PM Nathan Rajlich

process: make --eval and reading scripts from stdin act the same

Reusing the same logic for both places for the behavior is consistent.

For example:

$ ./node -p -e "'Hello World'" 
Hello World
$ echo "'Hello World'" | ./node -p
Hello World
10ce3d12 04/17/2012 04:14 PM isaacs

Domain hooks in ReqWrap<T> and MakeCallback

963459d7 04/17/2012 04:14 PM isaacs

Domain feature

This is a squashed commit of the main work done on the domains-wip branch.

The original commit messages are preserved for posterity:

  • Implicitly add EventEmitters to active domain
  • Implicitly add timers to active domain
  • domain: add members, remove ctor cb...
8a15147b 03/28/2012 10:41 PM isaacs

Reapply "debug: Wait 50ms before running the main module"

This reapplies commit c781f17742170f2e127f9ee6652c56b406c30586
This reverts commit 00224771e32e4d051e5ea33b7e854f0031359912

208b2307 03/27/2012 09:00 PM Nathan Rajlich

repl: add a 'useColors' option to the repl

This should only be minimally used, since the `terminal` value will usually be
what you are expecting. This option is specifically for the case where `terminal`
is false, but you still want colors to be output (or vice-versa).

00224771 03/27/2012 02:40 PM Fedor Indutny

Revert "debug: Wait 50ms before running the main module"

This reverts commit c781f17742170f2e127f9ee6652c56b406c30586.

698e795a 03/26/2012 10:06 PM Nathan Rajlich

repl: fix 'terminal' mode autodetection on global repls

Fixes test/simple/test-force-repl.js

aad12d0b 03/26/2012 06:21 PM Nathan Rajlich

readline: migrate ansi/vt100 logic from tty to readline

The overall goal here is to make readline more interoperable with other node
Streams like say a net.Socket instance, in "terminal" mode.

See #2922 for all the details.
Closes #2922.

feaa8a41 03/21/2012 03:05 AM Nathan Rajlich

cmd: add a -i / --interactive flag to force the REPL

This is the only way to spawn a node child process in REPL mode, and will
also be needed to be able to use the REPL in MinTTY.

c781f177 03/20/2012 10:46 PM isaacs

debug: Wait 50ms before running the main module

11d88237 03/15/2012 08:15 PM Nathan Rajlich

process: add `process.config`

This is the JS representation of the `config.gypi` file that was used when
compiling node. With this information, you can tell whether the current node
binary has shared or static dependencies, or any other configuration options...

f9da776b 03/13/2012 02:58 PM Nathan Rajlich

process: listen for the "exit" even on the main repl

27a937bc 02/23/2012 11:23 PM Maciej Małecki

Revert "startup: use `path.resolve` instead of `path.join(cwd, ...)`"

This reverts commit b0c15412270f32e00c268c578f07a1ed032323f5.

Reverted commit introduced a regression causing `process.argv0` to be
invalid in node processes spawned from `PATH` (without explicit path to...

634b4de2 02/21/2012 06:31 PM isaacs

Pause process.stdin in stdin getter

Otherwise, it'll be ref'ed, and keep the process hanging.

27d8b059 02/21/2012 06:26 PM isaacs

Pause process.stdin in stdin getter

Otherwise, it'll be ref'ed, and keep the process hanging.

b0c15412 02/20/2012 10:04 AM Maciej Małecki

startup: use `path.resolve` instead of `path.join(cwd, ...)`

1109c8fc 02/20/2012 10:04 AM Maciej Małecki

startup: move `EventEmitter` closer to the lookup

This makes startup faster by ~0.2 ms on my computer.

c3a9733a 02/20/2012 10:04 AM Maciej Małecki

startup: use `.hasOwnProperty` instead of `in`

Benchmarks show that `.hasOwnProperty` is faster than `in` in V8. It
makes startup ~0.5 ms faster on my computer.

3bc3af02 02/15/2012 10:45 PM Maciej Małecki

process: remove old notices about removed methods

These methods were removed a long time ago. Keeping these notices here
makes no sense anymore.

Also, removing this part of code slightly speeds up the startup.

74a8215a 02/06/2012 09:44 AM Ben Noordhuis

Revert support for isolates.

It was decided that the performance benefits that isolates offer (faster spin-up
times for worker processes, faster inter-worker communication, possibly a lower
memory footprint) are not actual bottlenecks for most people and do not outweigh...

bd210380 01/31/2012 09:22 PM isaacs

Merge remote-tracking branch 'ry/master' into merge-v0.6

18d179c2 01/31/2012 09:18 PM isaacs

Merge remote-tracking branch 'ry/v0.6' into master

Conflicts:
ChangeLog
deps/uv/src/unix/udp.c
deps/uv/src/win/fs.c
deps/uv/src/win/udp.c
deps/uv/test/test-fs.c
doc/index.html
doc/logos/index.html
doc/template.html
src/node_version.h

db3c4efd 01/31/2012 08:45 PM Igor Zinkovsky

support for sharing streams accross isolates

52bd0f93 01/30/2012 08:10 AM Brandon Benvie

core: make .deprecate() warn only once

5403a8ce 01/29/2012 06:27 PM Brandon Benvie

core: add `NativeModule.prototype.deprecate`

Formalize and cleanup handling of deprecated core methods.

e3c0c86b 01/29/2012 04:17 PM Brandon Benvie

Change removed process methods to be non-enumerable.

ff0f0aeb 01/26/2012 08:55 PM isaacs

Fix #2507 Raise errors less agressively when destroying stdio streams

Also, if an error is already provided, then raise the provided
error, rather than throwing it with a less helpful 'stdout cannot
be closed' message.

This is important for properly handling EPIPEs.

de78922b 01/20/2012 09:03 PM Igor Zinkovsky

ref isolate loop

42281124 01/05/2012 06:47 PM Ben Noordhuis

child_process: add isolates support

Passing an options object with {thread:true} to .fork() or .spawn() will run the
target script in a thread instead of a separate process.

5f08c3cf 01/04/2012 09:30 PM Andreas Madsen

cluster improvements: Worker class and isolate internal messages

Fixes #2388

23bb5986 12/06/2011 04:02 PM Ben Noordhuis

Remove unused variable.

The file descriptor arg to child_process._forkChild() is not used any more.
Remove it, avoids future confusion.

36815e41 12/05/2011 04:43 PM Ben Noordhuis

process: fix stack overflow when recursively calling process.exit()

3d22dbf2 12/01/2011 12:02 PM Ben Noordhuis

cli: add -p switch, print result of --eval

13324bf8 11/10/2011 05:51 PM Igor Zinkovsky

throw from stdout.end and stderr.end

f84d86b6 11/09/2011 06:04 PM Igor Zinkovsky

make stdout stream non-destroyable

5d89540b 11/09/2011 04:53 PM Igor Zinkovsky

make stderr stream non-destroyable

2a462abf 11/08/2011 07:58 PM Ryan Dahl

process.kill doesn't create error obj correctly