platform/upstream/nodejs.git
15 years agoAdd note to README about wiki page
Ryan [Fri, 24 Jul 2009 13:14:59 +0000 (15:14 +0200)]
Add note to README about wiki page

15 years agoFix memory leak. It was only a missing HandleScope in Emit()!
Ryan [Fri, 24 Jul 2009 10:53:46 +0000 (12:53 +0200)]
Fix memory leak. It was only a missing HandleScope in Emit()!

This change also tries to optimize Emit by looping through the listeners in
C++. The javascript version of this function is still there and being used,
but only by javascript code. Not an ideal solution - there should only be
one implementation - however for now it seems to help.

This doesn't solve all of the memory leaks that we're experiencing, there
seems to be another subtle problem.

15 years agoRemove unused static object.
Ryan [Thu, 23 Jul 2009 23:15:21 +0000 (01:15 +0200)]
Remove unused static object.

15 years agoFix evnet_buf size calculation for V8::AdjustAmountOfExternalAllocatedMemory().
Ryan [Thu, 23 Jul 2009 16:36:28 +0000 (18:36 +0200)]
Fix evnet_buf size calculation for V8::AdjustAmountOfExternalAllocatedMemory().

15 years agoClean up little errors in events.js
Ryan [Thu, 23 Jul 2009 16:35:43 +0000 (18:35 +0200)]
Clean up little errors in events.js

15 years agoObjectWrap: MakeWeak again after each Weak callback.
Ryan [Thu, 23 Jul 2009 16:35:03 +0000 (18:35 +0200)]
ObjectWrap: MakeWeak again after each Weak callback.

15 years agoFix utf8 scripts, add test. Thanks Urban.
Ryan [Mon, 20 Jul 2009 19:22:19 +0000 (21:22 +0200)]
Fix utf8 scripts, add test. Thanks Urban.

15 years agoremove the callback from node.cat, node.fs.cat
Ryan [Mon, 20 Jul 2009 19:07:34 +0000 (21:07 +0200)]
remove the callback from node.cat, node.fs.cat

15 years agoroot_module should be a local variable
Ryan [Mon, 20 Jul 2009 16:30:15 +0000 (18:30 +0200)]
root_module should be a local variable

15 years agoArray.prototype.encodeUtf8 renamed to node.encodeUtf8(array)
Ryan [Mon, 20 Jul 2009 16:19:13 +0000 (18:19 +0200)]
Array.prototype.encodeUtf8 renamed to node.encodeUtf8(array)

15 years agoUpgrade V8 to 1.2.14
Ryan [Mon, 20 Jul 2009 11:18:42 +0000 (13:18 +0200)]
Upgrade V8 to 1.2.14

15 years agoUpgrade libev to 3.7
Ryan [Mon, 20 Jul 2009 11:01:40 +0000 (13:01 +0200)]
Upgrade libev to 3.7

15 years agoAttach connections on Macintosh too.
Ryan [Mon, 20 Jul 2009 10:52:03 +0000 (12:52 +0200)]
Attach connections on Macintosh too.

15 years agoMove node.inherit, node.path, node.cat to new file: util.js
Ryan [Thu, 16 Jul 2009 15:19:02 +0000 (17:19 +0200)]
Move node.inherit, node.path, node.cat to new file: util.js

15 years agoFix 'make test-debug'
Ryan [Thu, 16 Jul 2009 14:54:55 +0000 (16:54 +0200)]
Fix 'make test-debug'

15 years agoAdd IsNearDeath assertion to ObjectWrap destructor
Ryan [Thu, 16 Jul 2009 13:43:03 +0000 (15:43 +0200)]
Add IsNearDeath assertion to ObjectWrap destructor

15 years agosmall clean ups to http.js
Ryan [Thu, 16 Jul 2009 08:59:40 +0000 (10:59 +0200)]
small clean ups to http.js

15 years agoUpgrade evnet.
Ryan [Wed, 15 Jul 2009 15:52:38 +0000 (17:52 +0200)]
Upgrade evnet.

15 years agoBetter error output for socket errors. Temporary.
Ryan [Wed, 15 Jul 2009 15:52:11 +0000 (17:52 +0200)]
Better error output for socket errors. Temporary.

15 years agoBugfix: Server-side clients not attached between creation and on_connect.
Ryan [Wed, 15 Jul 2009 15:00:15 +0000 (17:00 +0200)]
Bugfix: Server-side clients not attached between creation and on_connect.

Solution is to manually add Attach() to OnConnection.

For client side it seems there is no Detach() being called after NS
resolution? Otherwise I would have removed it. That was another bug.

Note: We don't want to modify evnet's behavior to have on_connect called
directly when the socket is accepted. evnet needs to support SSL, and
on_connect is supposed to signal that the SSL connection is established. The
point here is that being "connected" and being "attached" to the event loop
are two different things. SSL stuff may be transmitted when a socket is not
"connected" but it must always be attached.

15 years agoRemove unused variable from ~Connection
Ryan [Wed, 15 Jul 2009 12:36:38 +0000 (14:36 +0200)]
Remove unused variable from ~Connection

15 years agoUpgrade evnet to fix close() bug. Add test for bug.
Ryan [Wed, 15 Jul 2009 05:54:01 +0000 (07:54 +0200)]
Upgrade evnet to fix close() bug. Add test for bug.

evnet wasn't properly closing sockets if they didn't have data to write.

15 years agolarge http.js refactor
Ryan [Tue, 14 Jul 2009 16:31:50 +0000 (18:31 +0200)]
large http.js refactor

15 years agohttp: Add IncomingMessage as abstract base class of ServerReq ClientRes
Ryan [Tue, 14 Jul 2009 09:59:13 +0000 (11:59 +0200)]
http: Add IncomingMessage as abstract base class of ServerReq ClientRes

15 years agoupgrade http_parser
Ryan [Mon, 13 Jul 2009 22:00:07 +0000 (00:00 +0200)]
upgrade http_parser

15 years agoReplace some printf() in src/net with asserts
Ryan [Mon, 13 Jul 2009 14:35:48 +0000 (16:35 +0200)]
Replace some printf() in src/net with asserts

15 years agoAdd 'close' event to tcp.Server
Ryan [Mon, 13 Jul 2009 13:36:14 +0000 (15:36 +0200)]
Add 'close' event to tcp.Server

15 years agoAdd benchmark scripts.
Ryan [Mon, 13 Jul 2009 10:48:59 +0000 (12:48 +0200)]
Add benchmark scripts.

To use the benchmarks:

  node benchmarks/run.js

or:

  make benchmark

The numbers reported are the elapsed milliseconds the script took to
complete. Currently only benching HTTP code and timers.

15 years agoUse assert() for Unwrap checks instead of JS error.
Ryan [Mon, 13 Jul 2009 09:44:41 +0000 (11:44 +0200)]
Use assert() for Unwrap checks instead of JS error.

15 years agoBugfix: Sockets not properly reattached if reconnected during disconnect event.
Ryan [Sun, 12 Jul 2009 13:02:13 +0000 (15:02 +0200)]
Bugfix: Sockets not properly reattached if reconnected during disconnect event.

The problem was that Connection::on_close was calling Detach() directly
after executing the "disconnect" event. Since we had a boolean attach count,
this was leaving sockets detached even if they had reattached in during the
event.

 * Added many asserts in http.cc and net.cc to ensure that sockets are
   connected when they should be.

 * Changed ObjectWrap to use a reference count instead of boolean attached_
   value.

 * Fixed similar bug in Timer.

15 years agoadd bug to TODO
Ryan [Sun, 12 Jul 2009 09:49:37 +0000 (11:49 +0200)]
add bug to TODO

15 years agoAdd res.client to ClientResponse
Ryan [Sun, 12 Jul 2009 09:48:37 +0000 (11:48 +0200)]
Add res.client to ClientResponse

15 years agoUpgrade liboi, which is now called evnet.
Ryan [Mon, 13 Jul 2009 14:38:24 +0000 (16:38 +0200)]
Upgrade liboi, which is now called evnet.

15 years agoDo not call Detach() from Server::~Server.
Ryan [Sat, 11 Jul 2009 09:43:06 +0000 (11:43 +0200)]
Do not call Detach() from Server::~Server.

15 years agoTemplatize ObjectWrap::Unwrap. Remove NODE_UNWRAP macro.
Ryan [Fri, 10 Jul 2009 11:57:05 +0000 (13:57 +0200)]
Templatize ObjectWrap::Unwrap. Remove NODE_UNWRAP macro.

15 years agoSimplify and cleanup ObjectWrap.
Ryan [Fri, 10 Jul 2009 11:38:53 +0000 (13:38 +0200)]
Simplify and cleanup ObjectWrap.

    Simplify and inline ObjectWrap::Wrap

    Inline and clean up ObjectWrap::Unwrap

    Move ObjectWrap into its own file.

    Remove handle from ObjectWrap constructor. add obj->Wrap(handle)

    Simplify Attach/Detach in ObjectWrap

    Remove ObjectWrap::InformV8ofAllocation. (Too messy/complex.)

15 years agovalidate js
Joshaven Potter [Tue, 30 Jun 2009 22:49:56 +0000 (18:49 -0400)]
validate js

15 years agofix example on website
Ryan [Tue, 30 Jun 2009 13:56:52 +0000 (15:56 +0200)]
fix example on website

15 years agobump version v0.1.0
Ryan [Tue, 30 Jun 2009 13:18:05 +0000 (15:18 +0200)]
bump version

15 years agoAdd changelog
Ryan [Tue, 30 Jun 2009 13:10:15 +0000 (15:10 +0200)]
Add changelog

15 years agosmall cleanups
Ryan [Tue, 30 Jun 2009 11:58:30 +0000 (13:58 +0200)]
small cleanups

15 years agoChange 'new node.tcp.Connection' to 'node.tcp.createConnection'
Ryan [Tue, 30 Jun 2009 11:56:52 +0000 (13:56 +0200)]
Change 'new node.tcp.Connection' to 'node.tcp.createConnection'

15 years agoRemove node.Process constructor from API
Ryan [Tue, 30 Jun 2009 11:40:00 +0000 (13:40 +0200)]
Remove node.Process constructor from API

15 years agoAdd new documentation (using asciidoc!)
Ryan [Tue, 30 Jun 2009 11:27:25 +0000 (13:27 +0200)]
Add new documentation (using asciidoc!)

15 years agoAdd -m32 flags for compiling on 64bit machines.
Ryan [Mon, 29 Jun 2009 19:17:06 +0000 (21:17 +0200)]
Add -m32 flags for compiling on 64bit machines.

These can be removed after v8 supports x64.

15 years agoFix ref/unref problem. Was doing opposite of what I should.
Ryan [Mon, 29 Jun 2009 18:53:54 +0000 (20:53 +0200)]
Fix ref/unref problem. Was doing opposite of what I should.

15 years agoAdd new test for node.fs.stat()
Ryan [Mon, 29 Jun 2009 12:11:26 +0000 (14:11 +0200)]
Add new test for node.fs.stat()

15 years agoClean up some of the event handling code
Ryan [Mon, 29 Jun 2009 12:11:01 +0000 (14:11 +0200)]
Clean up some of the event handling code

15 years agoSnakecase events .
Ryan [Mon, 29 Jun 2009 11:18:30 +0000 (13:18 +0200)]
Snakecase events .

15 years agoBad array index in AfterStat()
Ryan [Mon, 29 Jun 2009 11:17:49 +0000 (13:17 +0200)]
Bad array index in AfterStat()

15 years agoUpgrade v8 to 1.2.10 and libev to 3.6
Ryan [Mon, 29 Jun 2009 08:55:05 +0000 (10:55 +0200)]
Upgrade v8 to 1.2.10 and libev to 3.6

15 years agoFix unused variable warnings.
Ryan [Sun, 28 Jun 2009 18:11:55 +0000 (20:11 +0200)]
Fix unused variable warnings.

15 years agoTimer::RepeatSetter wasn't getting the right value
Ryan [Sun, 28 Jun 2009 17:58:13 +0000 (19:58 +0200)]
Timer::RepeatSetter wasn't getting the right value

15 years agoFix Process::MaybeShutdown's return type
Ryan [Sun, 28 Jun 2009 17:55:35 +0000 (19:55 +0200)]
Fix Process::MaybeShutdown's return type

15 years agoWrong number of arguments being passed to emit in AfterOpen
Ryan [Sun, 28 Jun 2009 17:34:54 +0000 (19:34 +0200)]
Wrong number of arguments being passed to emit in AfterOpen

15 years agoImplement Promises for file i/o
Ryan [Sun, 28 Jun 2009 17:05:58 +0000 (19:05 +0200)]
Implement Promises for file i/o

15 years agoAdd Promise class
Ryan [Sun, 28 Jun 2009 10:40:20 +0000 (12:40 +0200)]
Add Promise class

15 years agoRemove onEvent compatibility
Ryan [Sat, 27 Jun 2009 18:40:43 +0000 (20:40 +0200)]
Remove onEvent compatibility

15 years agoUse EventEmitter for node.Process
Ryan [Fri, 26 Jun 2009 23:02:03 +0000 (01:02 +0200)]
Use EventEmitter for node.Process

15 years agoUse events for all HTTP messages.
Ryan [Fri, 26 Jun 2009 16:30:55 +0000 (18:30 +0200)]
Use events for all HTTP messages.

This is a rather large refactor! Mostly for the better side. I've had to
remove some functionality like req.interrupt(). A lot of other work is left
messy or incomplete.

15 years agoevents for http.Server
Ryan [Fri, 26 Jun 2009 16:29:57 +0000 (18:29 +0200)]
events for http.Server

15 years agoFurther expand EventEmitter to TCP and HTTP
Ryan [Fri, 26 Jun 2009 10:51:27 +0000 (12:51 +0200)]
Further expand EventEmitter to TCP and HTTP

The constructor for TCP servers can no longer take a connection handler for
purely technical reasons. (The constructor for EventEmitter is implemented
in C++ but addListener is in javascript, and I don't want to make too many
C++ -> Javascript references.) Thus I introduce new constructor methods to
ease the creation of the servers:

  node.tcp.createServer()
  node.http.createServer()

These work almost the same as the old constructors.

In general we're working towards a future where no constructors are
publicly exposed or take arguments.

The HTTP events like "on_uri" are not yet using the event interface.
onMessage still is a constructor - but this will change soon.

15 years agoTimers on Events
Ryan [Thu, 25 Jun 2009 18:25:44 +0000 (20:25 +0200)]
Timers on Events

15 years agoin the middle putting in event code. broken.
Ryan [Thu, 25 Jun 2009 17:13:20 +0000 (19:13 +0200)]
in the middle putting in event code. broken.

15 years agoAdd some notes about extent of HTTP API
Ryan [Sat, 27 Jun 2009 17:06:29 +0000 (19:06 +0200)]
Add some notes about extent of HTTP API

15 years agoadd irc channel to website
Ryan [Sat, 27 Jun 2009 16:26:25 +0000 (18:26 +0200)]
add irc channel to website

15 years agoAdd make test-all
Ryan [Fri, 26 Jun 2009 22:49:47 +0000 (00:49 +0200)]
Add make test-all

15 years agoadd more detail to req.uri documentation
Ryan [Fri, 26 Jun 2009 22:43:03 +0000 (00:43 +0200)]
add more detail to req.uri documentation

15 years agoFix issue in 5b7fb10
Ryan [Fri, 26 Jun 2009 22:13:37 +0000 (00:13 +0200)]
Fix issue in 5b7fb10

15 years agoAdd failing test. Process spawning loop.
Ryan [Fri, 26 Jun 2009 21:42:06 +0000 (23:42 +0200)]
Add failing test. Process spawning loop.

I think this is the issue Felix Geisendoerfer is reporting:
http://groups.google.com/group/nodejs/browse_thread/thread/efbae1ec1e67786c

15 years agobump version v0.0.6
Ryan [Wed, 24 Jun 2009 14:43:37 +0000 (16:43 +0200)]
bump version

15 years agotest-process-kill: start process after onLoad
Ryan [Wed, 24 Jun 2009 11:58:17 +0000 (13:58 +0200)]
test-process-kill: start process after onLoad

15 years agobugfix: Properly exit a process.
Ryan [Wed, 24 Jun 2009 11:44:12 +0000 (13:44 +0200)]
bugfix: Properly exit a process.

This requires that onExit() is not called immediately upon receiving a
SIGCHLD. There could still be data in the pipez. So, instead just set a
flag and invoke the pipe watchers.

Sometimes one will not receive an EOF from pipes because the process was
killed by a SIGTERM, or something. If SIGCHLD has been recved but we are
getting EAGAIN, the pipez need to be closed too.

15 years agoFix thread pool unref issue.
Ryan [Tue, 23 Jun 2009 09:27:18 +0000 (11:27 +0200)]
Fix thread pool unref issue.

Tests were silently failing since f56309d...

Since the eio_watcher is now not counted in the list of active watchers, we
need to explicitly tell the ev_loop not to exit when entering the thread
pool.

15 years agoFix some typos in the docs
Ryan [Tue, 23 Jun 2009 08:26:17 +0000 (10:26 +0200)]
Fix some typos in the docs

15 years agoMove oi_buf creation to node.cc
Ryan [Mon, 22 Jun 2009 17:48:02 +0000 (19:48 +0200)]
Move oi_buf creation to node.cc

15 years agoRemove eio_warmup. Use ev_ref instead.
Ryan [Mon, 22 Jun 2009 17:32:42 +0000 (19:32 +0200)]
Remove eio_warmup. Use ev_ref instead.

15 years agoFix bug waf problem with HAVE_CLOCK_SYSCALL
Ryan [Mon, 22 Jun 2009 16:28:48 +0000 (18:28 +0200)]
Fix bug waf problem with HAVE_CLOCK_SYSCALL

15 years agoAdd scons to LICENSE
Ryan [Mon, 22 Jun 2009 12:15:10 +0000 (14:15 +0200)]
Add scons to LICENSE

15 years agoUse v8's test runner
Ryan [Mon, 22 Jun 2009 11:51:47 +0000 (13:51 +0200)]
Use v8's test runner

15 years agolint
Ryan [Mon, 22 Jun 2009 11:12:47 +0000 (13:12 +0200)]
lint

15 years agoCreate tools directory
Ryan [Mon, 22 Jun 2009 11:08:32 +0000 (13:08 +0200)]
Create tools directory

Users will need to "make distclean" to recompile from scratch since I've
moved a lot of the core build tools around.

15 years agoRemove unnecessary Detach
Ryan [Sun, 21 Jun 2009 21:28:12 +0000 (23:28 +0200)]
Remove unnecessary Detach

15 years agoFix up docs.
Ryan [Sun, 21 Jun 2009 21:27:36 +0000 (23:27 +0200)]
Fix up docs.

15 years agoFinished remote module loading
Urban Hafner [Sun, 21 Jun 2009 14:59:11 +0000 (16:59 +0200)]
Finished remote module loading

15 years agoTests and implementation of node.cat()
Urban Hafner [Sun, 21 Jun 2009 14:40:08 +0000 (16:40 +0200)]
Tests and implementation of node.cat()

15 years agoUpdate to use the new parseUri()
Urban Hafner [Sun, 21 Jun 2009 14:28:58 +0000 (16:28 +0200)]
Update to use the new parseUri()

15 years agoRemove empty parts of the parsed URI.
Urban Hafner [Sun, 21 Jun 2009 14:28:23 +0000 (16:28 +0200)]
Remove empty parts of the parsed URI.

15 years agoMerge branch 'master' of git://github.com/ry/node
Urban Hafner [Sun, 21 Jun 2009 14:10:20 +0000 (16:10 +0200)]
Merge branch 'master' of git://github.com/ry/node

15 years agoAdd documentation for node.Process
Ryan [Sun, 21 Jun 2009 12:34:13 +0000 (14:34 +0200)]
Add documentation for node.Process

15 years agofix error in test-process-simple
Ryan [Sun, 21 Jun 2009 12:07:52 +0000 (14:07 +0200)]
fix error in test-process-simple

15 years agoAdd test-process-kill.js
Ryan [Sun, 21 Jun 2009 12:06:03 +0000 (14:06 +0200)]
Add test-process-kill.js

15 years agoAdd test-process-simple.js
Ryan [Sun, 21 Jun 2009 11:57:23 +0000 (13:57 +0200)]
Add test-process-simple.js

15 years agodefine signal constants
Ryan [Sun, 21 Jun 2009 11:50:13 +0000 (13:50 +0200)]
define signal constants

15 years agoAdd process.kill(sig = SIGTERM)
Ryan [Sun, 21 Jun 2009 11:41:03 +0000 (13:41 +0200)]
Add process.kill(sig = SIGTERM)

15 years agoAdd pid accessor
Ryan [Sun, 21 Jun 2009 11:29:15 +0000 (13:29 +0200)]
Add pid accessor

15 years agoAdd onExit callback
Ryan [Sun, 21 Jun 2009 11:18:00 +0000 (13:18 +0200)]
Add onExit callback

15 years agoGet stdin/stdout working. Add process->Close().
Ryan [Sun, 21 Jun 2009 11:10:00 +0000 (13:10 +0200)]
Get stdin/stdout working. Add process->Close().

15 years agoskelton of node.Process
Ryan [Sat, 20 Jun 2009 14:44:06 +0000 (16:44 +0200)]
skelton of node.Process

15 years agoBug: Add HTTPConnection->size() and HTTPServer->size()
Ryan [Sat, 20 Jun 2009 13:17:54 +0000 (15:17 +0200)]
Bug: Add HTTPConnection->size() and HTTPServer->size()

Need this for proper garbage collection.