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.
2010-10-27 17:02:42 -07:00
isaacs
4c514a723c
Let exit listeners know the exit code
2010-10-27 16:54:10 -07:00
Jorge Chamorro Bieling
fd70d30a9c
make "node --eval" eval in the global scope.
2010-10-27 16:52:53 -07:00
Ryan Dahl
67652ddf27
Refactor callbacks in net.Stream for fewer closures
2010-10-27 16:43:16 -07:00
Ryan Dahl
38dde9684f
Add extra anti-DoS tech to net.Server
2010-10-27 12:09:16 -07:00
Ryan Dahl
aeb9bed63e
Improve idle benchmarks
2010-10-27 02:52:49 -07:00
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.
2010-10-27 02:12:25 -07:00
Tim-Smart
79ecc8e9b7
Style changes.
2010-10-26 18:47:46 -07:00
Ryan Dahl
bc47353bbe
Use the timer list for setTimeout
2010-10-26 14:53:18 -07:00
Ryan Dahl
79944006e2
Move setTimeout and friends into timers module
2010-10-26 14:53:17 -07:00
Ryan Dahl
5cc29b80f2
Move idle timers into its own module
2010-10-26 14:53:17 -07:00
Ryan Dahl
dcc4fffe4d
Add C++ API for constructing fast buffer from string
2010-10-26 13:43:58 -07:00
Ryan Dahl
d1e5fbdde4
Remove old TODOs
2010-10-26 11:33:18 -07:00
Ryan Dahl
72aee8216c
Fix permissions on http.js
2010-10-26 11:31:01 -07:00
Ryan Dahl
9bbc7e0bc7
Remove old todo
2010-10-26 01:10:32 -07:00
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.
2010-10-26 01:10:18 -07:00
Ryan Dahl
a7b4af0ae5
create directories during configure
2010-10-25 19:52:58 -07:00
Ryan Dahl
5175864c0e
exec instead of sh a the configure.real script
2010-10-25 19:52:35 -07:00
Ryan Dahl
43022eabf7
more configure hackery
2010-10-25 18:33:15 -07:00
Ryan Dahl
eaba4fc2bf
Ignore configure.real
2010-10-25 18:24:48 -07:00
Ryan Dahl
5cf4ceff59
add configure
2010-10-25 18:21:45 -07:00
Ryan Dahl
583c07bf8b
fix style
2010-10-25 17:30:08 -07:00
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
2010-10-25 17:28:21 -07:00
Paul Querna
1128c0bf67
Add SecurePair for handling of a ssl/tls stream.
2010-10-25 17:26:58 -07:00
Paul Querna
6ea61acf29
remove old todo.
2010-10-25 17:26:44 -07:00
Paul Querna
1ce4684a27
Centralize error handling in SecureStream
...
and add a start method, to kick off SSL handshaking, without writing a zero
byte buffer
2010-10-25 17:26:03 -07:00
isaacs
446d2ec19c
Add make install
2010-10-25 13:43:09 -07:00
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
2010-10-25 12:14:47 -07:00
Paul Querna
9977831078
Add HAVE_OPENSSL flag to makefile
2010-10-25 10:28:14 -07:00
Ryan Dahl
7eed71f8bb
add todo about half-open connections
2010-10-24 20:11:47 -07:00
Ryan Dahl
fcd0c3ebc0
Remove test-base64-bigfile
...
Already tested in test/simple/test-buffer.js. Takes too long, uses too much
memory.
2010-10-24 19:21:12 -07:00
Ryan Dahl
15594eaf87
Replace WAF with make/autoconf
2010-10-24 18:39:36 -07:00
Ryan Dahl
bb85e7751f
Now working on v0.3.1
2010-10-23 16:01:37 -07:00
Ryan Dahl
1582cfebd6
bump version to 0.3.0
2010-10-23 16:00:15 -07:00
Ryan Dahl
477df1aaec
Revert "Add some failing tests for path.join"
...
This reverts commit 8c0e87f9c3
.
(Revert until fix comes)
2010-10-23 15:35:58 -07:00
Ryan Dahl
38f117cb6d
one more 'listening' race condition
2010-10-23 14:26:31 -07:00
Ryan Dahl
44234e9cc7
Fix a few 'listening' race conditions
...
in
test-net-timeout
test-http-client-parse-error
2010-10-23 14:13:04 -07:00
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.
2010-10-23 12:28:20 -07:00
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()
2010-10-23 11:37:40 -07:00
Ryan Dahl
d9a5edb2b0
Fix test-net-eaddrinuse
2010-10-23 11:22:24 -07:00
Stéphan Kochen
dd52737476
Provide a C++ Buffer constructor for external storage.
...
In order to do this, buffer data management was moved out of the
JS entry-point New, and into Replace.
Secondly, the constructor makes an immediate call to Replace, and
in order for ArrayData calls to work, wrapping must already be set
up. Now, the constructor takes the wrappee as a parameter.
2010-10-22 16:52:14 -07:00
Stéphan Kochen
b3e60c7b25
Generalize Buffer::Copy to work with all unsigned byte external data.
2010-10-22 13:47:10 -07:00
Stéphan Kochen
d5e966154c
Simplify things by using `*ArrayData` everywhere.
2010-10-22 13:32:48 -07:00
Stéphan Kochen
d9b08d66d6
Remove old interface remains from Buffer.
...
These were all lacking implementation, so deprecating wouldn't help.
2010-10-22 13:32:31 -07:00
Ryan Dahl
b2969a9155
Don't call AtExit twice
2010-10-22 10:17:38 -07:00
Vitali Lovich
fb8830a64f
Fix parsing of linux memory
...
If process name contains a space, this parsing fails for no good reason.
2010-10-22 10:14:19 -07:00
Ryan Dahl
604f4fdf8c
Write write.txt into the tmpdir
2010-10-22 10:02:30 -07:00
Ryan Dahl
92c5634cbd
Remove a confusing sentence in the docs
2010-10-21 17:32:13 -07:00
Jorge Chamorro Bieling
99e19aa398
Remove unneeded function wrappers
2010-10-21 17:11:59 -07:00
Ryan Dahl
174a3a9a08
Upgrade libev to 4.00
2010-10-21 15:38:32 -07:00