Ryan Dahl
1f31a7dbfe
Upgrade v8 to 1.3.14
2009-10-07 11:53:45 +02:00
Ryan Dahl
1817d4b062
ev_unref() the signal handlers.
...
That means even if they are Attached(), libev will still exit if there is
nothing else to do.
2009-10-07 01:35:21 +02:00
Brandon Beacher
f068251494
Added signal handler.
...
To be used internally. Needs an exposed interface.
2009-10-07 01:23:29 +02:00
Ryan Dahl
82465fc4b1
Do not use /bin/sh to create child processes.
...
Instead directly call execvp(). This change is needed for the
soon-to-be-added signal handlers because the /bin/sh parent process does not
pass all signals to it's children, particularly SIGUSR1 on Linux.
The parameters of createChildProcess had to be changed slightly.
utils.exec() also has a changed implementation. A bug involving quoted
arguments was knowingly introduced into utils.exec(). Will fix later.
2009-10-07 01:08:33 +02:00
Ryan Dahl
39c61367a7
Only arguments before -- should be passed to V8.
2009-10-06 16:28:52 +02:00
Ryan Dahl
2b994d9e37
Also accept 'utf-8' to specify utf8 encodings.
2009-10-06 10:45:18 +02:00
Ryan Dahl
d67288b643
Add __module to reference current node.Module object.
2009-10-05 21:01:30 +02:00
Ryan Dahl
78f8b6771c
Add require.async().
2009-10-05 20:35:48 +02:00
Ryan Dahl
d703813c27
Remove target argument from node.Module#newChild.
2009-10-05 20:35:05 +02:00
Ryan Dahl
a0c464638c
Remove old references to node.loadingModules
2009-10-05 20:29:59 +02:00
Ryan Dahl
8185e1fd25
Remove include() add node.mixin()
...
include() should not be used by libraries because it will pollute the global
namespace. To discourage this behavior and bring Node more in-line with
the current CommonJS module system, include() is removed.
Small scripts like unit tests often times do want to pollute the global
namespace for ease. To avoid the boiler plate code of
var x = require("/x.js");
var foo = x.foo;
var bar = x.bar;
The function node.mixin() is stolen from jQuery's jQuery.extend. So that it
can be written:
node.mixin(require("/x.js"));
Reference:
http://docs.jquery.com/Utilities/jQuery.extend
http://groups.google.com/group/nodejs/browse_thread/thread/f9ac83e5c11e7e87
2009-10-05 15:46:31 +02:00
Ryan Dahl
bac16bd8ac
Remove node.pc
2009-10-05 13:04:21 +02:00
Ryan Dahl
e2b7902469
Don't use parseUri for HTTP server
...
The big parseUri RE was showing up often in profiles - this is simpler and
yields better performance by taking advantage of the C http parser.
2009-10-04 12:19:01 +02:00
Ryan Dahl
6f17ca51c3
Install wafadmin into $PREFIX/lib/node/wafadmin
...
This is in preparation for a special node_waf script for building external
modules.
Also change system library path to $PREFIX/lib/node/libraries
2009-10-03 19:09:00 +02:00
Ryan Dahl
602f9dbf3f
SetClassName on internal classes.
2009-10-03 15:08:03 +02:00
Ryan Dahl
b66c5c9808
Replace DEFINE_SIMPLE_CALLBACK macros with explicit functions
2009-10-03 14:45:35 +02:00
Ryan Dahl
a8c0211e73
Bugfix: require() and include() should work in callbacks.
...
Removing requireAsync and includeAsync from global scope for now as a
temporary fix. Reported by Yuffster.
2009-09-29 19:28:54 +02:00
Ryan Dahl
cda659a8c8
Camel-case all http events
2009-09-29 18:06:14 +02:00
Ryan Dahl
b7526eb324
Add warning when coroutine stack size grows too large.
...
For the moment too large is 10.
2009-09-28 18:48:19 +02:00
Ryan Dahl
835554c92b
Error message on bad module load.
2009-09-28 18:48:19 +02:00
Ryan Dahl
23c7f472d0
API: Move node.exit() to process.exit().
2009-09-28 18:48:18 +02:00
Ryan Dahl
459d644a5a
Don't delete timer object on clearTimeout.
...
I've heard delete is inefficient in v8. Better to let the garbage collector
take care of it naturally.
2009-09-28 18:48:18 +02:00
Ryan Dahl
095470854b
Move tcp library to /tcp.js
2009-09-28 18:48:18 +02:00
Ryan Dahl
f6657c3c9d
Move http library to /http.js
2009-09-28 12:36:36 +02:00
Ryan Dahl
7abad8b7b3
API: Move node.puts(), node.exec() and others to /utils.js
2009-09-28 12:06:30 +02:00
Ryan Dahl
4f69871c17
Add node.inspect() and deprecate p().
2009-09-27 12:33:44 +02:00
Ryan Dahl
45ea62a0f6
Changes to compile on Andrew Miller's very old machine
2009-09-26 15:11:31 +02:00
Ryan Dahl
55a2e8271e
Decrease default TCP backlog to 128
...
...after seeing http://lionet.livejournal.com/42016.html
2009-09-23 17:57:12 +02:00
Ryan Dahl
8a5194b7cf
cpplint.js file.{cc,h}
2009-09-23 16:33:24 +02:00
Ryan Dahl
c53aeb5a02
Call "connection" event after connection object is fully formed.
...
This became an apparent problem when adding setNoDelay because the command
was ignored if issued during the "connection" event.
2009-09-23 16:09:40 +02:00
Ryan Dahl
e0ec0036ca
Add connection.setNoDelay() to disable Nagle algorithm.
2009-09-23 15:36:34 +02:00
Ryan Dahl
76f4962636
Bugfix: EIOPromise::Create was allocating two EIOPromise objects
...
This is because it would call the javascript initializer which executed
Promise::New, and then it would rewrap the handle. Instead I make an
explicit inheritance from EIOPromise to Promise.
This seems to fix a memory leak which was reported by Ray Morgan:
http://groups.google.com/group/nodejs/browse_thread/thread/e38949b1989da1d7
2009-09-23 00:17:50 +02:00
Ryan Dahl
663deb3828
delete[] instead of delete for arrays.
2009-09-23 00:17:49 +02:00
Ryan Dahl
07792afe0a
Remove "raw" encoding. Rename "raws" to "binary".
...
Deprecation warnings have been added to help the conversion to this new API.
2009-09-21 12:27:22 +02:00
Ryan Dahl
7ddf1f569a
Improve error message for requiring system modules.
2009-09-20 18:03:55 +02:00
Ryan Dahl
949f24305b
Add node.error(); p() outputs to stderr.
2009-09-20 17:40:14 +02:00
Ryan Dahl
3311122ccb
Throw ret value from wait() only if it's there.
2009-09-20 17:35:07 +02:00
Ryan Dahl
389c80aece
return error from cat_promise in node.fs.cat
2009-09-20 17:34:27 +02:00
Ryan Dahl
c8b143bf30
Absolute path names for require() refer to node.libraryPaths
2009-09-19 17:21:12 +02:00
Ryan Dahl
605b7e9763
Add node.installPrefix
2009-09-17 15:36:31 +02:00
Ryan Dahl
b54fad9b3f
Bugfix: node.fs.write() was stack allocating buffer.
...
Since the buffer is passed to the thread pool it needs to be heap allocated.
Thanks to Jon Crosby and Tim Caswell for debugging this.
2009-09-17 14:58:18 +02:00
Ryan Dahl
9db2e5f375
Default to utf8 encoding for node.fs.cat()
2009-09-15 22:41:25 +02:00
Ryan Dahl
083d150bc4
Add node.exec()
2009-09-15 15:42:16 +02:00
Ryan Dahl
5fdf9bbaa9
Remove unused variable in http.cc
2009-09-14 16:34:31 +02:00
Ryan Dahl
4f98e2deb3
Fix buffering logic for HTTP outgoing messages.
...
Was sending two packets instead of one for some short messages, and even 3,
for short chunked-encoded messages. Also use the more general Encode()
function for receiving HTTP bodies.
Gives ~6% improvement on "hello world" web server benchmarks.
2009-09-14 16:25:41 +02:00
Ryan Dahl
f389f923b8
Remove erroneously placed EV_DEFAULT_UC_
2009-09-13 23:44:56 +02:00
Ryan Dahl
0d1ec5fdbe
API: node.fs.read() takes a normal encoding parameter.
...
Removes node.UTF8, node.RAW, node.ASCII enum versions of the encodings.
node.fs.read() now supports "raws" encoding.
2009-09-13 18:31:17 +02:00
Ryan Dahl
d1a13bdd35
Fix default encoding for outgoing HTTP messages
...
Was causing send() to throw argument errors because arrays of ints would get
paired with the "raws" encoding. The bug was introduced in 8eb1294 .
2009-09-13 18:19:03 +02:00
Ryan Dahl
ef300d19cb
Bugfix: ReportException shouldn't forget the top frame.
2009-09-13 17:43:19 +02:00
Ryan Dahl
8eb1294f87
Bugfix: sendBody wasn't setting encoding
2009-09-13 12:44:09 +02:00