platform/upstream/nodejs.git
14 years agoFix options parsing
Peter Griess [Fri, 4 Jun 2010 15:29:10 +0000 (08:29 -0700)]
Fix options parsing

The current node has a bug where it will fail to pass the option argument
immediately preceding the first non-option argument to V8. That is the
--perf flag will be ignored by V8 when running 'node --perf script.js'.

14 years agoApply fix for V8 bug 728
Ryan Dahl [Fri, 4 Jun 2010 01:50:44 +0000 (18:50 -0700)]
Apply fix for V8 bug 728

14 years agoUse a less common port in docs
Ryan Dahl [Fri, 4 Jun 2010 01:44:05 +0000 (18:44 -0700)]
Use a less common port in docs

14 years agoFix ability to disable TCP timeouts with setTimeout(0)
Ryan Dahl [Thu, 3 Jun 2010 18:01:47 +0000 (11:01 -0700)]
Fix ability to disable TCP timeouts with setTimeout(0)

14 years agoFix: require.async module exception delegation
Felix Geisendörfer [Thu, 3 Jun 2010 10:39:12 +0000 (12:39 +0200)]
Fix: require.async module exception delegation

The fs.readFile bug was hiding another bug that was causing this test
to pass, even so it was broken:

require.async("../fixtures/throws_error1") in test-module-loading.js

This patch fixes the original test by running _compile within a
try..catch block for _loadScript.

_loadScriptSync also had some useless (deprecated?) code for dealing
with module entry point exceptions. This code was also removed for
greater clarity.

14 years agoFix: fs.readFile would execute callbacks twice
Felix Geisendörfer [Thu, 3 Jun 2010 10:37:21 +0000 (12:37 +0200)]
Fix: fs.readFile would execute callbacks twice

fs.readFile was executing a callback in a try..catch context, which is
a problem in itself. To make matters worse, it would re-execute the
same callback if there was an execution.

This patch fixes both of these problems.

14 years agoDOC note stats.isSymbolicLink() is only valid with fs.lstat().
rentzsch [Thu, 3 Jun 2010 04:15:02 +0000 (23:15 -0500)]
DOC note stats.isSymbolicLink() is only valid with fs.lstat().

ref: <http://github.com/ry/node/issues#issue/153>

14 years agoSend and receive file descriptors through net.Stream.
Peter Griess [Thu, 3 Jun 2010 01:16:53 +0000 (18:16 -0700)]
Send and receive file descriptors through net.Stream.

a) create a layer of indirection in net.Stream to allow swapping in
different read/write implementations and

b) emit an 'fd' event when file descriptors are received over a UNIX pipe,
as finally as a tangential benefit

c) remove a bunch of conditionals from the primary codepaths for
ease-of-reading.

14 years agoServer responses should have a body if HEAD request
Ryan Dahl [Wed, 2 Jun 2010 21:46:29 +0000 (14:46 -0700)]
Server responses should have a body if HEAD request

14 years agoBetter 'make' output
Ryan Dahl [Wed, 2 Jun 2010 19:27:53 +0000 (12:27 -0700)]
Better 'make' output

Removes 'make all-debug' since it is unnecessary now.

14 years agoAdd a parameter to spawn() that sets the child's stdio file descriptors.
Orlando Vazquez [Tue, 1 Jun 2010 07:56:08 +0000 (00:56 -0700)]
Add a parameter to spawn() that sets the child's stdio file descriptors.

After the child is forked, these file descriptors will get dup2()'d to STDIN,
STDIO, and STDERR.

(API may be changed.)

14 years agoRevert "More dynmaic linking options"
Ryan Dahl [Wed, 2 Jun 2010 16:15:54 +0000 (09:15 -0700)]
Revert "More dynmaic linking options"

Broke the build. Will fix and reapply soon.

This reverts commit 75f0cf471af3c029290d4bf55c34d1fc470ef600.

14 years agoMore dynmaic linking options
Ryan Dahl [Wed, 2 Jun 2010 03:16:42 +0000 (23:16 -0400)]
More dynmaic linking options

This adds the following options to the `configure` program

  --shared-v8           Link to a shared V8 DLL instead of static linking
  --shared-v8-includes=SHARED_V8_INCLUDES
                        Directory containing V8 header files
  --shared-v8-libpath=SHARED_V8_LIBPATH
                        A directory to search for the shared V8 DLL
  --shared-cares        Link to a shared C-Ares DLL instead of static linking
  --shared-cares-includes=SHARED_CARES_INCLUDES
                        Directory containing C-Ares header files
  --shared-cares-libpath=SHARED_CARES_LIBPATH
                        A directory to search for the shared C-Ares DLL
  --shared-libev        Link to a shared libev DLL instead of static linking
  --shared-libev-includes=SHARED_LIBEV_INCLUDES
                        Directory containing libev header files
  --shared-libev-libpath=SHARED_LIBEV_LIBPATH
                        A directory to search for the shared libev DLL

and removes --system.

14 years agoFix style in sys.js
Ryan Dahl [Tue, 1 Jun 2010 16:28:31 +0000 (09:28 -0700)]
Fix style in sys.js

14 years agoUpgrade to V8 2.2.13
Ryan Dahl [Mon, 31 May 2010 18:52:20 +0000 (11:52 -0700)]
Upgrade to V8 2.2.13

14 years agobump version v0.1.97
Ryan Dahl [Sun, 30 May 2010 02:32:33 +0000 (19:32 -0700)]
bump version

14 years agoRemove throttling bug notes
Ryan Dahl [Sun, 30 May 2010 02:37:44 +0000 (19:37 -0700)]
Remove throttling bug notes

14 years agoAPI: readFileSync without encoding argument now returns a Buffer
Ryan Dahl [Sat, 29 May 2010 20:38:00 +0000 (13:38 -0700)]
API: readFileSync without encoding argument now returns a Buffer

Correctly load utf8 data; add a test test-fs-read-file-sync.js

14 years agoDeprecate the 'ini' module
Ryan Dahl [Sat, 29 May 2010 20:14:38 +0000 (13:14 -0700)]
Deprecate the 'ini' module

14 years agoRename node_net2.cc to node_net.cc
Ryan Dahl [Sat, 29 May 2010 20:08:05 +0000 (13:08 -0700)]
Rename node_net2.cc to node_net.cc

14 years agoMake require() from the repl be relative to cwd
isaacs [Mon, 10 May 2010 00:02:40 +0000 (17:02 -0700)]
Make require() from the repl be relative to cwd

14 years agoExecute repl code in new context
isaacs [Mon, 10 May 2010 00:02:02 +0000 (17:02 -0700)]
Execute repl code in new context

14 years agoUse duck-typing as well as instanceof in sys.inspect
isaacs [Sun, 9 May 2010 23:35:15 +0000 (16:35 -0700)]
Use duck-typing as well as instanceof in sys.inspect

This makes it so that inspecting objects from other contexts works as expected.

14 years agoaddons should have debugging symbols
Ryan Dahl [Sat, 29 May 2010 19:25:28 +0000 (12:25 -0700)]
addons should have debugging symbols

14 years agoCheck for a couple of edge cases on the inspect hook.
Tim Caswell [Fri, 28 May 2010 21:48:37 +0000 (14:48 -0700)]
Check for a couple of edge cases on the inspect hook.

Don't treat sys.inspect special, same with prototype objects.

14 years agoProvide a hook for user-specified inspect functions
Tim Caswell [Fri, 28 May 2010 19:17:16 +0000 (12:17 -0700)]
Provide a hook for user-specified inspect functions

14 years agoInsert some hot paths into HTTP
Ryan Dahl [Fri, 28 May 2010 03:28:12 +0000 (20:28 -0700)]
Insert some hot paths into HTTP

14 years agoRefactor HTTP
Ryan Dahl [Thu, 27 May 2010 00:59:55 +0000 (17:59 -0700)]
Refactor HTTP

Allow throttling from outgoing messages.

14 years ago:%s/8000/PORT/g for a few tests
Ryan Dahl [Thu, 27 May 2010 23:49:21 +0000 (16:49 -0700)]
:%s/8000/PORT/g for a few tests

14 years agoAdded support for OpenBSD 32-bit for c-ares
Brian White [Thu, 27 May 2010 13:48:40 +0000 (09:48 -0400)]
Added support for OpenBSD 32-bit for c-ares

14 years agoBugfix: fs.ReadStream.setEncoding
Ryan Dahl [Thu, 27 May 2010 01:32:56 +0000 (18:32 -0700)]
Bugfix: fs.ReadStream.setEncoding

Improve test-fs-read-stream test.

14 years agoFix Solaris V8 build
Ryan Dahl [Thu, 27 May 2010 01:05:42 +0000 (18:05 -0700)]
Fix Solaris V8 build

Patch submitted to V8: http://codereview.chromium.org/2282003/show

14 years agoAdding experimental support for fs.chown and fs.chownSync.
Micheil Smith [Wed, 26 May 2010 17:49:01 +0000 (03:49 +1000)]
Adding experimental support for fs.chown and fs.chownSync.

Notes:
- Currently only accepts numeric user and group ids.
- No tests, as tests depend on getpwuid and getgrgid.
- No documentation, as there is no tests and this is experimental.

14 years agoSimplify a few internal HTTP events.
Ryan Dahl [Wed, 26 May 2010 20:37:06 +0000 (13:37 -0700)]
Simplify a few internal HTTP events.

14 years agoFix JOBS for Solaris make
Ryan Dahl [Wed, 26 May 2010 20:05:31 +0000 (20:05 +0000)]
Fix JOBS for Solaris make

14 years agoRemove -Werror from V8 SConstruct
Ryan Dahl [Wed, 26 May 2010 17:48:20 +0000 (10:48 -0700)]
Remove -Werror from V8 SConstruct

14 years agoUpgrade V8 to 2.2.12
Ryan Dahl [Wed, 26 May 2010 17:15:43 +0000 (10:15 -0700)]
Upgrade V8 to 2.2.12

14 years agoAvoided sending empty chunkedEncoding chunks in the middle of http responses
Sam Hughes [Thu, 29 Apr 2010 02:25:43 +0000 (19:25 -0700)]
Avoided sending empty chunkedEncoding chunks in the middle of http responses

14 years agoFix issue 89, parsing responses to HEAD requests
Ryan Dahl [Wed, 26 May 2010 02:24:30 +0000 (19:24 -0700)]
Fix issue 89, parsing responses to HEAD requests

Test from Mark Hansen (mark at markhansen.co.nz)

14 years agoIn HTTP parser, proxy return value of onHeadersComplete
Ryan Dahl [Wed, 26 May 2010 01:39:23 +0000 (18:39 -0700)]
In HTTP parser, proxy return value of onHeadersComplete

14 years agoUpgrade http-parser
Ryan Dahl [Wed, 26 May 2010 01:41:31 +0000 (18:41 -0700)]
Upgrade http-parser

14 years agoDestroy REPL pipes instead of shutting down.
Ryan Dahl [Tue, 25 May 2010 00:14:08 +0000 (17:14 -0700)]
Destroy REPL pipes instead of shutting down.

14 years agofs.ReadStream should emit Buffers
Ryan Dahl [Mon, 24 May 2010 22:47:40 +0000 (15:47 -0700)]
fs.ReadStream should emit Buffers

And do proper utf8 encoding.

14 years agoCreate a public Buffer constructor for use in addons.
Ryan Dahl [Mon, 24 May 2010 19:59:22 +0000 (12:59 -0700)]
Create a public Buffer constructor for use in addons.

14 years agoChange the behavior of path.extname
Aapo Laitinen [Sun, 23 May 2010 18:28:23 +0000 (21:28 +0300)]
Change the behavior of path.extname

Make path.extname return an empty string also if:
- The last dot is not in the last path component
- The last dot starts the last path component

14 years agoPort to OpenBSD
Brian White [Sun, 23 May 2010 23:04:36 +0000 (16:04 -0700)]
Port to OpenBSD

14 years agoUpgrade libeio
Ryan Dahl [Sun, 23 May 2010 23:57:20 +0000 (16:57 -0700)]
Upgrade libeio

14 years agoAdded reason phrases for a bunch of HTTP status codes.
Ben Noordhuis [Sun, 23 May 2010 20:48:50 +0000 (22:48 +0200)]
Added reason phrases for a bunch of HTTP status codes.

14 years agoAdd bug notes about HTTP streams and throttling
Ryan Dahl [Sat, 22 May 2010 20:02:30 +0000 (13:02 -0700)]
Add bug notes about HTTP streams and throttling

14 years agoAdd assert.ifError
Mikeal Rogers [Fri, 21 May 2010 19:05:55 +0000 (12:05 -0700)]
Add assert.ifError

14 years agoUpgrade V8 to 2.2.11
Ryan Dahl [Fri, 21 May 2010 16:41:50 +0000 (09:41 -0700)]
Upgrade V8 to 2.2.11

14 years agobump version v0.1.96
Ryan Dahl [Fri, 21 May 2010 09:55:38 +0000 (02:55 -0700)]
bump version

14 years agoimprove test for stdio non-blockingness
Ryan Dahl [Fri, 21 May 2010 08:22:20 +0000 (01:22 -0700)]
improve test for stdio non-blockingness

14 years agoFix opposite logic, which coincidentially works
Ryan Dahl [Fri, 21 May 2010 05:11:26 +0000 (22:11 -0700)]
Fix opposite logic, which coincidentially works

14 years agoRemove unneeded fd variables in node_stdio.cc
Ryan Dahl [Fri, 21 May 2010 05:01:13 +0000 (22:01 -0700)]
Remove unneeded fd variables in node_stdio.cc

14 years agoDeprecate string interface for fs.read()
Felix Geisendörfer [Thu, 20 May 2010 22:13:22 +0000 (18:13 -0400)]
Deprecate string interface for fs.read()

This patch makes buffers the preferred output for fs.read() and
fs.readSync(). The old string interface is still supported by
converting buffers to strings dynamically. This allows to remove the
C++ code for string handling which is also part of this patch.

14 years agoRevert "Deprecate string interface for fs.read()"
Ryan Dahl [Thu, 20 May 2010 23:11:33 +0000 (16:11 -0700)]
Revert "Deprecate string interface for fs.read()"

This reverts commit cbbf9e43d1770047e98fe65d5f710815f432a5b4.

14 years agoDeprecate string interface for fs.read()
Felix Geisendörfer [Thu, 20 May 2010 22:13:22 +0000 (18:13 -0400)]
Deprecate string interface for fs.read()

This patch makes buffers the preferred output for fs.read() and
fs.readSync(). The old string interface is still supported by
converting buffers to strings dynamically. This allows to remove the
C++ code for string handling which is also part of this patch.

14 years agoThrowing in a callback should kill the process
Ryan Dahl [Thu, 20 May 2010 22:21:40 +0000 (15:21 -0700)]
Throwing in a callback should kill the process

There is a difference between errors which happen to a socket - like
receiving EPIPE - an exceptional situation but ultimately okay and the
situation where code throws in a callback - which is not okay.

Fixes test/simple/test-http-exceptions.js

TODO: explain this in docs.

14 years agoFIX path.dirname('/tmp') => '/'.
rentzsch [Sun, 16 May 2010 19:29:29 +0000 (14:29 -0500)]
FIX path.dirname('/tmp') => '/'.

Previously path.dirname('/tmp') incorrectly returned '.'.

Unfortunately module.js incorrectly thinks dirname('/a/b/') should
yield '/a/b', so I can't strip trailing slashes yet. Once module.js
is fixed, then the commented-out code should be activated and a test
written for it.

14 years agoDeprecate sys.p()
Ryan Dahl [Thu, 20 May 2010 17:12:05 +0000 (10:12 -0700)]
Deprecate sys.p()

14 years agoMake buffer's c++ constructor public
Ryan Dahl [Thu, 20 May 2010 16:42:47 +0000 (09:42 -0700)]
Make buffer's c++ constructor public

14 years agoFix a leaking global
isaacs [Wed, 19 May 2010 06:04:24 +0000 (23:04 -0700)]
Fix a leaking global

14 years agoRemove the ReportException from the Script class
isaacs [Sun, 9 May 2010 23:20:15 +0000 (16:20 -0700)]
Remove the ReportException from the Script class

This is so that syntax errors can be handled discretely in places like the
repl, where SyntaxErrors are expected and normal.

14 years agoMinor style changes for fs.write code
Ryan Dahl [Wed, 19 May 2010 21:59:03 +0000 (14:59 -0700)]
Minor style changes for fs.write code

14 years agoDeprecate string interface for fs.write()
Felix Geisendörfer [Wed, 19 May 2010 18:17:50 +0000 (14:17 -0400)]
Deprecate string interface for fs.write()

This patch makes buffers the preferred input for fs.write() and
fs.writeSync(). The old string interface is still supported by
converting strings to buffers dynamically. This allows to remove the
C++ code for string handling which is also part of this patch.

14 years agoFix api for request.connection
Ryan Dahl [Wed, 19 May 2010 18:01:21 +0000 (11:01 -0700)]
Fix api for request.connection

14 years agoAllow process.setuid() and process.setgid() to accept string names in lieu of numeric IDs
Peter Griess [Wed, 19 May 2010 00:40:44 +0000 (17:40 -0700)]
Allow process.setuid() and process.setgid() to accept string names in lieu of numeric IDs

14 years agoFix utf8stream references
Ryan Dahl [Tue, 18 May 2010 16:32:28 +0000 (09:32 -0700)]
Fix utf8stream references

14 years agoUse Utf8Stream for http Streams with utf8 encoding
Felix Geisendörfer [Tue, 18 May 2010 02:42:24 +0000 (22:42 -0400)]
Use Utf8Stream for http Streams with utf8 encoding

14 years agoUse Utf8Stream for net Streams with utf8 encoding
Felix Geisendörfer [Tue, 18 May 2010 02:42:24 +0000 (22:42 -0400)]
Use Utf8Stream for net Streams with utf8 encoding

14 years agoImplemented Utf8Decoder module
Felix Geisendörfer [Tue, 18 May 2010 02:25:51 +0000 (22:25 -0400)]
Implemented Utf8Decoder module

Allows to safely decode a utf8 stream into strings without breaking
on multibyte characters.

14 years agofs.WriteStream.write should support buffer
Ryan Dahl [Mon, 17 May 2010 22:22:09 +0000 (15:22 -0700)]
fs.WriteStream.write should support buffer

Also re-adding the callback parameter.

14 years agoFix errno display in c-ares exceptions
Ryan Dahl [Mon, 17 May 2010 20:58:15 +0000 (13:58 -0700)]
Fix errno display in c-ares exceptions

14 years agoSupport arrays and strings in buffer constructor
Felix Geisendörfer [Mon, 17 May 2010 13:33:56 +0000 (09:33 -0400)]
Support arrays and strings in buffer constructor

This is be very useful for testing code that deals with buffers.

14 years agoAdded better error messages for async and sync fs calls with paths
visionmedia [Fri, 14 May 2010 14:52:49 +0000 (07:52 -0700)]
Added better error messages for async and sync fs calls with paths

14 years agoFIX: EventEmitter#removeAllListeners signature
Jonas Pfenniger [Fri, 14 May 2010 11:13:27 +0000 (13:13 +0200)]
FIX: EventEmitter#removeAllListeners signature

This function should return this is all cases.

14 years agoFIX: EventEmitter#removeListener logic
Jonas Pfenniger [Fri, 14 May 2010 11:12:41 +0000 (13:12 +0200)]
FIX: EventEmitter#removeListener logic

In the case of one defined listener, the function should only remove it
if it is the same as the passed listener.

14 years agoFIX: signal-unregister bug
Jonas Pfenniger [Fri, 14 May 2010 07:59:31 +0000 (09:59 +0200)]
FIX: signal-unregister bug

We now restore the default signal behavior when all listeners are
removed for a given signal.

Re-enabled test-signal-unregister

14 years agoThinner SignalWatcher, only using callback
Jonas Pfenniger [Fri, 14 May 2010 07:57:02 +0000 (09:57 +0200)]
Thinner SignalWatcher, only using callback

Since it is only used internally, we don't need the complexity of
EventEmitter. The new SignalWatcher's design was copied from
IdleWatcher.

14 years agoAdded posix fsync and fdatasync to fs module
Andrew Johnston [Mon, 22 Mar 2010 07:25:24 +0000 (07:25 +0000)]
Added posix fsync and fdatasync to fs module

14 years agoChanges to work on Solaris 10
Ryan Dahl [Fri, 14 May 2010 23:36:17 +0000 (23:36 +0000)]
Changes to work on Solaris 10

14 years agoAdd --without-ssl configure option
Ryan Dahl [Fri, 14 May 2010 23:34:47 +0000 (16:34 -0700)]
Add --without-ssl configure option

14 years agoRemove some unused cruft from wscript
Ryan Dahl [Fri, 14 May 2010 23:30:41 +0000 (16:30 -0700)]
Remove some unused cruft from wscript

14 years agoSimplify stack trace reporting using new V8 API
Ryan Dahl [Fri, 14 May 2010 18:48:14 +0000 (11:48 -0700)]
Simplify stack trace reporting using new V8 API

14 years agoFix AUTHORS file
Ryan Dahl [Fri, 14 May 2010 18:15:31 +0000 (11:15 -0700)]
Fix AUTHORS file

14 years agoAdd test for exceptions in HTTP parser event handlers.
Matt Ranney [Fri, 14 May 2010 07:06:32 +0000 (00:06 -0700)]
Add test for exceptions in HTTP parser event handlers.

14 years agoRemove unused CSS reference.
Matt Ranney [Fri, 14 May 2010 07:07:01 +0000 (00:07 -0700)]
Remove unused CSS reference.

14 years agoAdd process.version description.
Matt Ranney [Fri, 7 May 2010 20:37:30 +0000 (13:37 -0700)]
Add process.version description.

14 years agoSystem EV compatibility fix : use EV_DEFAULT_UC
Jérémy Lal [Thu, 13 May 2010 23:50:26 +0000 (01:50 +0200)]
System EV compatibility fix : use EV_DEFAULT_UC

14 years agobump version v0.1.95
Ryan Dahl [Thu, 13 May 2010 21:58:31 +0000 (14:58 -0700)]
bump version

14 years agoAllow parallel jobs to be passed to V8 build
Ryan Dahl [Thu, 13 May 2010 23:24:05 +0000 (16:24 -0700)]
Allow parallel jobs to be passed to V8 build

e.g. JOBS=2 make

14 years agoChange the 'make dist' to remove v8 test dir
Ryan Dahl [Thu, 13 May 2010 22:54:50 +0000 (15:54 -0700)]
Change the 'make dist' to remove v8 test dir

14 years agoHandle empty files with fs.readFile
Elijah Insua [Thu, 13 May 2010 19:42:17 +0000 (12:42 -0700)]
Handle empty files with fs.readFile

14 years agoSupport for fstat(2) through fs.fstat() and fs.fstatSync(). Added test cases, updated...
Ben Noordhuis [Wed, 12 May 2010 20:35:33 +0000 (22:35 +0200)]
Support for fstat(2) through fs.fstat() and fs.fstatSync(). Added test cases, updated documentation.

14 years agoDisable test-signal-unregister.js as functionality doesn't exist yet
Ryan Dahl [Wed, 12 May 2010 19:45:53 +0000 (12:45 -0700)]
Disable test-signal-unregister.js as functionality doesn't exist yet

14 years agoRemove reference to C++ EventEmitter in docs
Ryan Dahl [Wed, 12 May 2010 19:17:45 +0000 (12:17 -0700)]
Remove reference to C++ EventEmitter in docs

I prefer ppl to use ObjectWrap

14 years agoDeprecate sendHeader() and writeHeader(), ppl should use writeHead()
Ryan Dahl [Wed, 12 May 2010 19:15:58 +0000 (12:15 -0700)]
Deprecate sendHeader() and writeHeader(), ppl should use writeHead()

14 years agoDefault to 2 second timeout for http servers
Ryan Dahl [Wed, 12 May 2010 18:42:01 +0000 (11:42 -0700)]
Default to 2 second timeout for http servers

Taking a performance hit on 'hello world' benchmark by enabling this by
default, but I think it's worth it. Hopefully we can improve performance by
resetting the timeout less often - ideally a 'hello world' benchmark would
only touch the one timer once - if it runs in less than 2 seconds. The rest
should be just link list manipulations.

14 years agoAdd note about 'error' event to docs
Ryan Dahl [Wed, 12 May 2010 17:42:14 +0000 (10:42 -0700)]
Add note about 'error' event to docs