Ryan Dahl
4144024e6b
Test and fix for self-assigned port from net.Server
14 years ago
Ryan Dahl
8b1082825c
Rename require('javascript') to require('vm')
14 years ago
isaacs
d39d3cec65
Make the javascript module API nodey.
Add a createScript function, and put stuff on exports instead of hiding
it in exports.Script.
14 years ago
isaacs
9996b459e1
Implement new path.join behavior
1. Express desired path.join behavior in tests.
2. Update fs.realpath to reflect new path.join behavior
3. Update url.resolve() to use new path.join behavior.
14 years ago
isaacs
589e27948b
writeFile fixes
writeFileSync could exhibit pathological behavior when a buffer could
not be written to the file in a single write() call.
Also, writeFile was not quite as optimized as it could be.
14 years ago
Ryan Dahl
d787a444c5
Use require('javascript') instead of process.binding('evals')
14 years ago
Ryan Dahl
8e09b1e2e1
Simplify REPL displayPrompt
Now that we insert \r into the stream and aren't switching back and forth
between termios modes, not need to worry about when to display the prompt.
14 years ago
Ryan Dahl
d4af8a6b6a
Add writeFilter when in the readline
Switch \n with \r\n for all strings printed out.
Necessary for writev patch.
14 years ago
Ryan Dahl
6ce007e89a
Remove warning in 'sys' - too aggressive
14 years ago
Ryan Dahl
515f006b6e
Add legacy methods to Buffer
14 years ago
Ryan Dahl
f1391f33cd
Add missing require('fs')
14 years ago
Chandra Sekar S
2b08bacd56
Removed range read optimization as it doesn't work with libeio.
14 years ago
Ryan Dahl
5e11b8a937
De-indent dns.lookup
14 years ago
Ryan Dahl
9c2969253b
Make sure watcher.set() isn't being called when active
14 years ago
Ryan Dahl
7a48fd8455
Handle null values in clearTimeout
14 years ago
Ryan Dahl
1eb547fec1
Lazy load modules in net.js
14 years ago
Ryan Dahl
5171da5a6c
Remove a little redundancy
14 years ago
Ryan Dahl
65dced730f
Handle one more onReadable call from crypto
MUST get rid of this calledByIOWatcher stuff. Hopefully will be able to when
securepair stuff lands.
14 years ago
Ryan Dahl
73cfda12bb
Abstract out a Server.prototype.pause method
14 years ago
Ryan Dahl
ad61d77fa3
Abstract out net.Server.prototype._rejectPending
Does the same timeout action for maxConnections as it does for EMFILE.
14 years ago
Jonas Pfenniger
74d0a077ec
Module-level EMFILE handling
All net servers now share the same dummy socket. The ulimit warning is
throttled for all servers.
14 years ago
isaacs
987cbbc191
Handle cyclic links smarter in fs.realpath
Rather than aborting in the face of *any* repeated link in a given path,
instead only abort if such a cycle actually makes a given path unresolvable.
Test for this by doing a normal stat. Still use the seenLinks object to
cache link contents so as to cut own a little bit on readlink calls.
Also add a pathological test that fails without the change to fs.js.
14 years ago
Ryan Dahl
67652ddf27
Refactor callbacks in net.Stream for fewer closures
14 years ago
Ryan Dahl
38dde9684f
Add extra anti-DoS tech to net.Server
14 years ago
Ryan Dahl
ac54272218
Gracefully handle EMFILE
Implementing a tip from Marc Lehmann:
http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#The_special_problem_of_accept_ing_wh
Keep an extra FD around for every server. When you hit EMFILE, destroy that
FD, accept a connection, close it; in this way you can clear the connection
queue and let people know that you're overload.
No more timeout needed.
14 years ago
Tim-Smart
79ecc8e9b7
Style changes.
14 years ago
Ryan Dahl
bc47353bbe
Use the timer list for setTimeout
14 years ago
Ryan Dahl
79944006e2
Move setTimeout and friends into timers module
14 years ago
Ryan Dahl
5cc29b80f2
Move idle timers into its own module
14 years ago
Ryan Dahl
72aee8216c
Fix permissions on http.js
14 years ago
Ryan Dahl
2470d2ee92
allowHalfOpen disabled by default
Users too often would forget to add
socket.on('end', function () {
socket.end();
});
Which is a mistake. Therefore we default to this behavior and
only optionally let people handle the 'end' case themselves.
14 years ago
Ryan Dahl
583c07bf8b
fix style
14 years ago
Paul Querna
97977640bd
Set the readable variables on the read/write streams
and add more debug() calls to make it easier to see the flow
14 years ago
Paul Querna
1128c0bf67
Add SecurePair for handling of a ssl/tls stream.
14 years ago
Micheil Smith
8da020d39e
Update node_net.cc to make us of node_constants.cc
also affects dgram which uses a constant from node_net.cc
14 years ago
Ryan Dahl
0ac2ef924f
Do not spin on aceept() with EMFILE
When a server hit EMFILE it would continue to try to accept new connections
from the queue. This patch introduces a timeout of one second where it will
stop trying to accept new files. After the second is over it tries again.
This is a rather serious bug that has been effecting many highly concurrent
programs. It was introduced in 4593c0, version v0.2.0.
TODO: A test for this situation. Currently I test it like this
termA% cd projects/node
termA% ulimit -n 256
termA% ./node benchmark/idle_server.js
termB% cd projects/node
termB% ./node benchmark/idle_clients.js
And watch how the server process behaves.
14 years ago
Ryan Dahl
9bf2975f78
Make sure Error object on exec() gets killed member
Also default to SIGTERM for destruction when exceeding timeout or buffer on
exec()
14 years ago
Ryan Dahl
d9a5edb2b0
Fix test-net-eaddrinuse
14 years ago
Jorge Chamorro Bieling
99e19aa398
Remove unneeded function wrappers
14 years ago
Ryan Dahl
6570cd99e5
Fix execFile timeouts, improve tests
It seems that a parent will not get a SIGCHLD if the child is killed by the
parent? It's unclear, so make 'exit' callback manually.
14 years ago
Ryan Dahl
5a98fa4809
ChildProcesses cannot be killed if pid is missing
14 years ago
isaacs
bfc6b51d95
The cwdRequire hack is no longer necessary with the require.resolve refactor.
14 years ago
Aaron Heckmann
bd8e4f656e
Prevents child_process.exec timeouts from throwing when the child was previously killed.
14 years ago
isaacs
226eff5104
Add require.resolve.
Also, hack the repl so that it works as expected there, too.
14 years ago
Johan Euphrosine
5d400cfd3a
net listen should emit eaddrinuse error
14 years ago
Mark Nottingham
b14eeb3c1e
Fix expect/continue keepalive
14 years ago
Sami Samhuri
56df0cbf93
new api for defining repl commands
14 years ago
Ryan Dahl
cf1db4f304
base64 decode should handle whitespace
14 years ago
Peteris Krumins
a6ee3bac85
Add EventEmitter.prototype.once
14 years ago
Joshua Peek
73b29d79b9
Don't flush net writeQueue on end() if its still connecting
14 years ago