Commit Graph

353 Commits (4ba5b7e24b86cb533c61320656f94f0d72359d52)

Author SHA1 Message Date
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
Ryan 227638bac1 Lint 2009-09-12 14:21:37 +02:00
Ryan dbe116ddfe API: Change arguments of emit(), emitSuccess(), emitError()
Instead of

  myemitter.emit("event", [arg1, arg2, arg3]);

the API is now

  myemitter.emit("event", arg1, arg2, arg3);

This change saves the creation of an extra array object for each event.
The implementation is also slightly more simple.
2009-09-12 14:21:37 +02:00
Ryan 1910c113cc Add '--' to seperate v8 args from program args 2009-09-11 20:05:22 +02:00
Ryan d6c9d31cb5 cpplint.py node.cc and node.h 2009-09-11 16:02:29 +02:00
Ryan 241950c1df Add isDirectory(), isFile(), isSocket(), ... methods to stats object.
Thanks to Felix Geisendörfer for the initial patch.
2009-09-11 13:41:47 +02:00
Ryan 3e4fc9f966 Add 'extern char **environ' so that the new ENV code compiles.
Problem appeared in dc39e82024.
2009-09-10 16:48:54 +02:00
Ryan dc39e82024 Add access to user environment via ENV 2009-09-10 14:07:35 +02:00
Ryan 68dda0a7d8 Man page generation. 2009-09-10 13:40:38 +02:00
Ryan 8e5d4f9a69 Remove debug agent. It shouldn't have been commited!
Appeared accidentally in 6dd850aa.
2009-09-10 12:41:18 +02:00
Ryan 2337630746 Move arg parsing to beginning of main()
For faster "./node -v"
2009-09-10 12:34:51 +02:00
Ryan d7e220cee1 Add a few fflush(stderr) calls to track down missing stacktraces. 2009-09-09 22:39:27 +02:00
Ryan efb2b703a6 Remove compiler warning with extra assert. 2009-09-09 18:06:58 +02:00
Ryan 393caeb4c9 Add Exception::Error where missing. 2009-09-09 17:35:59 +02:00
Ryan 8890070b88 Introduce "raws" encoding. Raw String.
This allows you to have binary data imported into your application via
strings instead of arrays of numbers! This needs testing before release.
2009-09-09 17:22:20 +02:00
Ryan 21a1b045f5 Byte stream to V8 decoding and encoding.
This does not (should not) change behavior.  Pulls those two functions
(encode/decode) out into node.cc.
2009-09-09 15:52:46 +02:00
Ryan 6dd850aa16 node.assert() was broken. 2009-09-08 14:59:43 +02:00
Ryan 063890b8da Internally use full paths when loading modules.
This completes shebang support begun in
6acac912dd.
2009-09-07 14:46:56 +02:00
Ryan 1a2696f10a Almost completely remove onExit and onLoad.
They were deprecated in 723c7d9f7c and
31265be4a6.

Still retaining error message.
2009-09-07 14:45:48 +02:00