Commit Graph

522 Commits

Author SHA1 Message Date
Ryan Dahl
653bf580bf Merge branch 'develop' into net2
Conflicts:
	src/node.cc
2010-01-20 15:24:38 -08:00
Jonas Pfenniger
971f43d63b FIX: Promise timeout should not addErrback
Because now, we expect the exception to be thrown if no errback
is given, we can't let timeout() add an errback silently.
2010-01-20 15:01:03 -08:00
Jonas Pfenniger
87d92f619a FIX: EventEmitter call in Promise 2010-01-20 14:59:38 -08:00
Jonas Pfenniger
7f652b63a9 Factorized deprecation messages 2010-01-20 14:58:05 -08:00
Ryan Dahl
f88d39de74 getmem() for solaris 2010-01-20 11:19:17 -08:00
Felix Geisendörfer
b57d7d9b4e Treat 'typeof Error' promise errors properly
Instead of JSON encoding them, just rethrow promise errors since that
produces much cleaner error messages.
2010-01-20 09:30:56 -08:00
Felix Geisendörfer
bfd3144861 Make unhandled Promise errors throw an exception
A promise will throw an exception unless an error handler is attached in the
same "tick" that the error is emitted. This is to avoid silent promise
failures.
2010-01-19 14:29:57 -08:00
Felix Geisendörfer
f64371fccb Support late callback binding for Promises
Listeners attached with addCallback / addErrback will now be executed
right away if the promise has already fired.
2010-01-19 14:29:49 -08:00
Felix Geisendörfer
d9dc2e0709 Fixed misnamed Promise property 2010-01-19 14:29:44 -08:00
Felix Geisendörfer
f2274840a9 Removed Promise.cancel()
The current implementation was bad and nobody is using it. Has a chance
of getting re-implemented by somebody who has an actual need for it.
2010-01-19 14:29:38 -08:00
Micheil Smith
6e3d12f617 Allow optional params to setTimeout, setInterval 2010-01-18 10:41:03 -08:00
Ryan Dahl
8abeffa9ea Add process.nextTick()
This is a replacement for the common hack:

  setTimeout(cb, 0);

It's much more efficient.
2010-01-18 10:32:36 -08:00
Ryan Dahl
aeb7d6d168 Add process.IdleWatcher
With priorities. Will be used for process.nextLoop().
2010-01-18 10:12:04 -08:00
Joseph Pecoraro
fd183bdb07 Fixed typo in comments. 2010-01-18 09:11:02 -08:00
Ryan Dahl
70293a43c9 API: Move Promise and EventEmitter into 'events' module 2010-01-15 12:46:08 -08:00
Ryan Dahl
8e6dd52683 Hack to display more useful SyntaxError exceptions.
For some reason v8 doesn't include the frame with the syntax error in the
stack trace - so have to special case it.
2010-01-15 10:45:04 -08:00
Ryan Dahl
df59f06734 recvMsg shouldn't return array for efficiency. 2010-01-13 08:41:04 -08:00
Ryan Dahl
02e52ef8e9 Merge branch 'master' into net2 2010-01-12 16:59:14 -08:00
Ryan Dahl
1b2c57907d Lazy initialize symbols for HTTP. 2010-01-10 22:27:48 -08:00
Ben Williamson
bba23c0998 Fix issue #44, eof on connect to http.
eof_symbol wasn't initialized until the first packet arrived.
In this case no packets arrive before the client closes the socket - eof.
2010-01-10 22:22:21 -08:00
Ryan Dahl
c9e21435c0 Upgrade http-parser 2010-01-09 01:52:49 -08:00
David Sklar
a876df6c71 Initial take on passing FDs between processes 2010-01-09 01:28:19 -08:00
isaacs
b21056d63a Rename path.filename() to path.basename()
Also make normalizeArray a bit more proper wrt handling dots when keepBlanks
is enabled. Fix indentation.
2010-01-09 00:26:49 -08:00
Benjamin Thomas
73266cb486 Added extname function to path module that returns the extension. 2010-01-08 22:28:27 -08:00
Ryan Dahl
53413598b6 Fix another problem with the EIO interface
Should call eio_poll() when given a done_poll signal as well.

Bug report and test case by Kris Zyp <kriszyp@gmail.com>
2010-01-08 22:20:23 -08:00
Vanilla Hsu
d22952bfe0 getmem for freebsd 2010-01-06 23:37:27 -08:00
Ryan Dahl
b1e126f415 libeio bugfix part 4
Oops. Last commit broke a few tests. Should work now!
2010-01-06 01:53:34 -08:00
Ryan Dahl
f80cc69c23 libeio bugfix part 3
Finally (hopefully) fix the issue that Felix reported. It's only appearing
on macintosh (test/mjsunit/test-eio-race3.js)

The trick/hack is to call eio_poll() again before reentering the event loop.

Additionally this commit implements a more complex method of calling
eio_poll(), occasionally dropping to an ev_idle watcher.

See also:
3f39772834
http://lists.schmorp.de/pipermail/libev/2010q1/000855.html
http://groups.google.com/group/nodejs/browse_thread/thread/9f8db11c792a68bb/a89705f68971f53c
2010-01-06 01:27:31 -08:00
Ryan Dahl
3f39772834 libeio bugfix part 2
Reverts the change to deps/libeio/eio.c added in
04dd2d51be
It wasn't a bug, I was just using eio incorrectly.

See http://lists.schmorp.de/pipermail/libev/2010q1/000855.html
2010-01-05 21:09:02 -08:00
Charles Lehner
caf22c8e0a Fixed clearTimeout to check if timer is a Timer 2010-01-04 22:18:06 -08:00
isaacs
7342fecaec Improve path module slightly:
1. Provide a switch to tell it to not remove empty path parts when
   normalizing.
2. Correct the handling of some edge cases when you have lots of dots and
   empty bits, such as paths like "././/./..//." and so on.
2010-01-04 11:36:52 -08:00
Ryan Dahl
9553503be5 Bugfix: Don't segfault on unknown http method
Reported by Chakrit Wichian.
2009-12-30 22:16:16 -08:00
Ryan Dahl
8d0f756158 [net2] delete unix sockfile on server start and shutdown 2009-12-30 11:32:07 -08:00
Ryan Dahl
0d31e9875f [net2] socket.setNoDelay 2009-12-30 10:43:47 -08:00
David Sklar
de9bfdea8e [net2] toRead() for non-linux (SIOCINQ -> FIONREAD) 2009-12-30 10:06:40 -08:00
Ryan Dahl
2582560f91 [net2] Do hostname lookups in connect and listen 2009-12-30 00:53:14 -08:00
Ryan Dahl
8330316014 Fix errors in getaddrinfo 2009-12-30 08:53:19 +01:00
Ryan Dahl
07333a4ab0 [net2] Set FD_CLOEXEC on created socket fds. 2009-12-29 21:12:32 +01:00
Ryan Dahl
25700e65ee [net2] Better EOF marking, rename events 2009-12-29 21:12:32 +01:00
Ryan Dahl
153b755936 Change IOWatcher constructor to have no arguments 2009-12-29 21:12:32 +01:00
Ryan Dahl
6e5abf4551 implement getaddrinfo 2009-12-29 21:12:31 +01:00
Ryan Dahl
0618f02f6f Implement half-closed streams 2009-12-29 21:12:31 +01:00
Ryan Dahl
bddd6e9ca3 Implement stream.send() 2009-12-29 21:12:31 +01:00
Ryan Dahl
1da15d623e Fix buffer bug, implement tcp recv 2009-12-29 21:12:30 +01:00
Ryan Dahl
0ecd0fa598 IOWatcher callback isn't internal, fix bug in Accept 2009-12-29 21:12:30 +01:00
Ryan Dahl
469e2648e5 More bindings, beginning tcp server code in js 2009-12-29 21:12:30 +01:00
Ryan Dahl
c819abccb6 Start on net2 2009-12-29 21:12:30 +01:00
Ryan Dahl
f219938b69 add io watcher 2009-12-29 21:12:29 +01:00
Ryan Dahl
3377a30fb8 Move cb_persist functions out of dns module 2009-12-29 21:12:29 +01:00
Ryan Dahl
630bb7a012 Rename blob to buffer. 2009-12-29 21:12:28 +01:00