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
Ryan Dahl
6691aca229
Allow people to set backlog. Need a better API.
14 years ago
Ryan Dahl
901d5fd0d2
Don't require events in fs.js
14 years ago
Ryan Dahl
32aadd9400
fs.ReadStream and fs.WriteStream derive from stream.Stream
14 years ago
Ryan Dahl
8139bb24c1
Add destroy methods to HTTP messages
needs tests (particularly for pipeline situations)
14 years ago
Micheil Smith
d2c47b4f87
Removed deprecated methods from lib/path.js
14 years ago
Micheil Smith
a3604cf233
Removed deprecated methods from lib/net.js
14 years ago
Micheil Smith
0e1a581916
Removed deprecated methods from lib/http.js
14 years ago
Micheil Smith
7bfefb5250
Removed deprecated methods from lib/fs.js
14 years ago
Micheil Smith
83db91be41
Removed deprecated alias to lib/fs.js
14 years ago
Micheil Smith
c1aa8ea944
Removed deprecated events.Promise
14 years ago
Ryan Dahl
7e24a05cba
Fix test-http-buffer-sanity
14 years ago
Micheil Smith
e38eb0c5a4
Soft migration of sys -> util, Removal of deprecated utils module.
14 years ago
Ryan Dahl
2944e03a03
Closer to a working pipe
14 years ago
Ryan Dahl
1d3142a882
TCP clients should buffer writes before connection
14 years ago
Ryan Dahl
81ac0d5088
pipe-test fixes
14 years ago
Ryan Dahl
cdd1d675a7
Remove old tcp module
14 years ago
Ryan Dahl
8ab691726d
clean up options.end code - wasn't working
14 years ago
Micheil Smith
1af52d28ca
Changing http.js to use the same stream.Stream creation as net.js
14 years ago
Ryan Dahl
bc695475b9
Add Stream base class with stream.pipe
14 years ago
Ryan Dahl
f23eb282c0
Fix style
14 years ago
Ryan Dahl
783f5019b0
Add flag to disable colors in REPL
14 years ago
Ryan Dahl
39b9043bef
Use readline.columns in sys.inspect when possible
Though, this should probably be an option to sys.inspect and be set by REPL.
14 years ago