Fedor Indutny
af98fc9d5f
child_process: new stdio API for .spawn() method
13 years ago
Ben Noordhuis
a3908f47f1
child_process: hook up handle wrap to owning object
13 years ago
Ben Noordhuis
4ec77e2e28
child_process: rename field _internal to _handle
Consistent with how other classes that are built around HandleWraps call it.
13 years ago
Andreas Madsen
dceebbfa31
child_process: allow sending a net Socket and Server object using child.send
child_process.fork() support sending native hander object, this patch add support for sending
net.Server and net.Socket object by converting the object to a native handle object and back
to a useful object again.
Note when sending a Socket there was emitted by a net Server object, the server.connections
property becomes null, because it is no longer possible to known when it is destroyed.
13 years ago
Ben Noordhuis
68f63fe9ec
child_process: make copy of options arg
Make a copy of the options object that the user passes in, we modify it.
13 years ago
Bert Belder
0e57aafbb1
Optimize writing strings with Socket.write
13 years ago
Bert Belder
55e4d54927
Child process: support the `gid` and `uid` options
13 years ago
Andreas Madsen
5b43c63c88
child_process: emit error when .kill fails
13 years ago
isaacs
b9bfb1bc91
child_process: Emit err rather than throw for IPC write failure
13 years ago
Andreas Madsen
ab32e9e043
child_process: emit 'channel closed' error instead of throwing
13 years ago
Charlie McConnell
c7b8073afc
child_process: Separate 'close' event from 'exit'
Currently, a child process does not emit the 'exit' event until 'close' events
have been received on all three of the child's stdio streams. This change makes
the child object emit 'exit' when the child exits, and a new 'close' event when
all stdio streams are closed.
13 years ago
Micheil Smith
19fd5301bf
Expose original argv as process.execArgv for cluster and child_process.fork()
13 years ago
Shea Levy
024451c65c
fork: don't clear environment by default
- Set options.env to process.env instead of {} by default.
- Shallow clone the passed options.env in case the user passed process.env directly.
13 years ago
Joshua Holbrook
56cfcea4b4
child_process: remove dummy "setsid" option setting
13 years ago
Joshua Holbrook
4065b241e8
child_process: remove dummy "setsid" option setting
13 years ago
Maciej Małecki
c6c6f98f1c
util: add `util._extend` for extending objects
There were 2 duplicates with such functionality in `cluster` and
`child_process` modules which were replaced by this function.
13 years ago
isaacs
0cdf85e28d
Lint all the JavaScripts.
13 years ago
Andreas Madsen
9da830e895
child_process: stop .disconnect() call if channel is diconnected
13 years ago
Ben Noordhuis
74a8215a86
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
the potential stability issues and intrusive changes to the code base that
first-class support for isolates requires.
Hence, this commit backs out all isolates-related changes.
Good bye, isolates. We hardly knew ye.
13 years ago
Igor Zinkovsky
db3c4efd1d
support for sharing streams accross isolates
13 years ago
Andreas Madsen
33b7fc250f
child_process: do not disconnect on exit emit
When using isolate the .fork would break because it had
no .disconnect method. This remove the exit handler there
would call .disconnect since it was not required.
It also change .disconnect to throw if the channel is closed,
this was not possible before because .disconnect would be called
twice.
13 years ago
Andreas Madsen
836344c90e
Add disconnect method to forked child processes
This disconnect method allows the child to exit gracefully.
This also adds a disconnect event and connect property.
13 years ago
Andreas Madsen
70884875c9
Allow calling fork() without args or options
Closes GH-2424
13 years ago
Andreas Madsen
ca6ededbd1
child_process: add errno property to exceptions
In case of a write failure when using fork() an error would be thrown. The
thrown exception was missing the `errno` property.
13 years ago
Maciej Małecki
4d49469d0d
child_process: fix typo in internal message event name
13 years ago
Fedor Indutny
6b2091b58a
debug threads
13 years ago
Ben Noordhuis
42281124d4
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.
13 years ago
Andreas Madsen
5f08c3cfa1
cluster improvements: Worker class and isolate internal messages
Fixes #2388
13 years ago
Ryan Dahl
4428b70cba
Add isolate version of test-child-process-fork
13 years ago
Ryan Dahl
b319699132
Add isolate version of test-child-process-fork
13 years ago
Ben Noordhuis
6df7bdd954
child_process: make .send() throw if message is undefined
JSON.stringify(undefined) returns "undefined" but JSON.parse() doesn't know how
to parse that.
13 years ago
Andreas Madsen
b084322f52
Add silent option to child_process.fork
Fixes #2354 .
13 years ago
Andreas Madsen
a599aeb2a8
jslint
Fixes #2306
13 years ago
Ryan Dahl
60e26668b3
Remove superfluous 'new'
13 years ago
Thomas Shinnick
eba1f7b1a4
child_process: fix order of args to errnoException()
13 years ago
Bert Belder
189dd8f803
Fix line endings and trailing whitespace
13 years ago
Maciej Małecki
6bd0bcd5af
child_process: in a new `ChildProcess` set `killed` to false
This behavior is consistent with what v0.4 does.
13 years ago
Igor Zinkovsky
3060266ff1
windows: enable pending accepts knob
13 years ago
koichik
8a729270c1
fix for --harmony_block_scoping
Fixes #1969 .
13 years ago
koichik
a09b747f30
child_process.fork: don't modify args
Fixes #1888 .
13 years ago
Ryan Dahl
651b8a06d6
Fix test/pummel/test-exec.js
13 years ago
Daniel Ennis
59be975322
Improve IPC performance.
Reading of JSON data off the buffer, 10-15% performance increase.
Fixes #1864 .
13 years ago
Ryan Dahl
96e423a665
Remove child_process_legacy
13 years ago
Ryan Dahl
8c738fa90c
child_process.fork: don't overwrite env
thanks to Malte-Thorben Bruns for pointing this out
13 years ago
Ryan Dahl
12486a6437
Change API for sending handles
Does not support sending net.Server objects only raw TCPWrap objects.
13 years ago
Ryan Dahl
26c08a3f35
Do load balancing test in test-child-process-fork2.
13 years ago
Ryan Dahl
899358e797
Add test-child-process-fork2 and fixes to make it work
13 years ago
Ryan Dahl
b413c77583
Support sending handles to other processes
Needs test.
13 years ago
Ryan Dahl
26c5905a99
Reimplement child_process.fork
Fixes test/simple/test-child-process-fork.js
13 years ago
Colton Baker
87286cc737
Fixed a lot of jslint errors.
Fixes #1831
13 years ago