summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 2013.03.01, Version 0.9.10 (Unstable)v0.9.11v0.9.11-releaseisaacs2013-03-013-7/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * V8: downgrade 3.14.5 * openssl: update to 1.0.1e * darwin: Make process.title work properly (Ben Noordhuis) * fs: Support mode/flag options to read/append/writeFile (isaacs) * stream: _read() no longer takes a callback (isaacs) * stream: Add stream.unshift(chunk) (isaacs) * stream: remove lowWaterMark feature (isaacs) * net: omit superfluous 'connect' event (Ben Noordhuis) * build, windows: disable SEH (Ben Noordhuis) * core: remove errno global (Ben Noordhuis) * core: Remove the nextTick for running the main file (isaacs) * core: Mark exit() calls with status codes (isaacs) * core: Fix debug signal handler race condition lock (isaacs) * crypto: clear error stack (Ben Noordhuis) * test: optionally set common.PORT via env variable (Timothy J Fontaine) * path: Throw TypeError on non-string args to path.resolve/join (isaacs, Arianit Uka) * crypto: fix uninitialized memory access in openssl (Ben Noordhuis)
* blog: Do not pass undefined to path.joinisaacs2013-03-011-1/+2
|
* fs: Support mode/flag options to read/append/writeFileisaacs2013-03-015-59/+142
| | | | Fix #4841
* test: Put fs write test files in tmpisaacs2013-03-013-11/+12
| | | | This prevents fixture litter when these tests fail.
* build: windows should append date if nightlyTimothy J Fontaine2013-03-011-0/+6
|
* doc: Provide 2 examples of SimpleProtocol parserisaacs2013-02-281-16/+210
| | | | | | The first example uses Readable, and shows the use of readable.unshift(). The second uses the Transform class, showing that it's much simpler in this case.
* stream: There is no _read cb, there is only pushisaacs2013-02-2820-126/+105
| | | | | | | | | | | | | | | | | | | | | | This makes it so that `stream.push(chunk)` is the only way to signal the end of reading, removing the confusing disparity between the callback-style _read method, and the fact that most real-world streams do not have a 1:1 corollation between the "please give me data" event, and the actual arrival of a chunk of data. It is still possible, of course, to implement a `CallbackReadable` on top of this. Simply provide a method like this as the callback: function readCallback(er, chunk) { if (er) stream.emit('error', er); else stream.push(chunk); } However, *only* fs streams actually would behave in this way, so it makes not a lot of sense to make TCP, TLS, HTTP, and all the rest have to bend into this uncomfortable paradigm.
* stream: Add stream.unshift(chunk)isaacs2013-02-281-3/+11
|
* stream: Break up the onread functionisaacs2013-02-281-81/+83
| | | | | | | A primary motivation of this is to make the onread function more inline-friendly, but also to make it more easy to explore not having onread at all, in favor of always using push() to signal the end of reading.
* net: omit superfluous 'connect' eventBen Noordhuis2013-03-013-14/+8
| | | | | | | | | | | | | | | | | | Don't emit a 'connect' event on sockets that are handed off to net.Server 'connection' event listeners. 1. It's superfluous because the connection has already been established at that point. 2. The implementation is arguably wrong because the event is emitted on the same tick of the event loop while the rule of thumb is to always emit it on the next one. This has been tried before in commit f0a440d but was reverted again in ede1acc because the change was incomplete (at least one test hadn't been updated). Fixes #1047 (again).
* deps: upgrade libuv to 2a8d2a5Ben Noordhuis2013-03-018-37/+41
|
* test: disable simple/test-process-getgroups on os xBen Noordhuis2013-03-011-0/+5
| | | | | | | | | The output of `id -G` is unreliable on OS X. It uses an undocumented Libsystem function called getgrouplist_2() that includes some auxiliary groups that the POSIX getgroups() function does not return. Or rather, not always. It leads to fun bug chases where the test fails in one terminal but not in another.
* Merge remote-tracking branch 'origin/v0.8'Ben Noordhuis2013-02-281-2/+2
|\
| * test: fix tap output on windowsTimothy J Fontaine2013-02-281-2/+2
| | | | | | | | Test output is always \n and not platform dependent
* | lib, src: remove errno globalBen Noordhuis2013-02-2811-54/+54
| | | | | | | | | | | | Remove the errno global. It's a property on the process object now. Fixes #3095.
* | test: add cleanup to long path testScott Blomquist2013-02-281-0/+1
| |
* | Merge remote-tracking branch 'origin/v0.8'Ben Noordhuis2013-02-2810-23/+230
|\ \ | |/ | | | | | | | | | | | | | | Conflicts: AUTHORS ChangeLog deps/uv/src/unix/pipe.c lib/http.js src/node_version.h
| * build, windows: disable SEHBen Noordhuis2013-02-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turn off safe exception handlers, they're incompatible with how openssl is compiled / linked under MSVS 2012. Addresses the following build error: openssl.lib(x86cpuid.obj) : error LNK2026: module unsafe for SAFESEH image. [g:\jenkins\workspace\nodejs-oneoff\node.vcxproj] openssl.lib(x86.obj) : error LNK2026: module unsafe for SAFESEH image. [g:\jenkins\workspace\nodejs-oneoff\node.vcxproj] # etc. etc. g:\jenkins\workspace\nodejs-oneoff\Release\node.exe : fatal error LNK1281: Unable to generate SAFESEH image. [g:\jenkins\workspace\nodejs-oneoff\node.vcxproj] Fixes #4242.
| * doc: update instructions on home pageBen Noordhuis2013-02-281-1/+3
| | | | | | | | | | | | | | | | | | Document how to run the example on the home page in more detail. Apparently our Windows brethren are prone to double-clicking on the binary instead of running it from the command line. Fixes #4854.
| * blog: Update with EINPROGRESS changelog itemisaacs2013-02-251-0/+2
| |
| * ChangeLog: Missed item about EINPROGRESSisaacs2013-02-251-0/+2
| |
| * blog: Post for v0.8.21isaacs2013-02-251-0/+84
| |
| * Now working on 0.8.22isaacs2013-02-251-2/+2
| |
| * Merge branch 'v0.8.21-release' into v0.8isaacs2013-02-255-9/+22
| |\
| | * 2013.02.25, Version 0.8.21 (Stable)v0.8.21v0.8.21-releaseisaacs2013-02-253-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * http: Do not free the wrong parser on socket close (isaacs) * http: Handle hangup writes more gently (isaacs) * zlib: fix assert on bad input (Ben Noordhuis) * test: add TAP output to the test runner (Timothy J Fontaine) * unix: Handle EINPROGRESS from domain sockets (Ben Noordhuis)
| | * uv: Upgrade to 86ae8b3cisaacs2013-02-252-7/+8
| |/
| * http: Do not free the wrong parser on socket closeisaacs2013-02-251-1/+2
| | | | | | | | | | | | | | This appears to fix #4673. That bug is very hard to reproduce, so it's hard to tell for certain, but this approach is more correct anyway. Hat-tip: @dougwilson
| * http: Handle hangup writes more gentlyisaacs2013-02-222-15/+19
| |
| * doc: add note about child process line bufferingBen Noordhuis2013-02-221-1/+3
| | | | | | | | Fixes #4808.
| * zlib: fix assert on bad inputBen Noordhuis2013-02-221-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following test case occasionally triggered an assert because write_in_progress_ didn't get cleared on error: $ cat test.js require('zlib').gunzip('BAM', console.log); setTimeout(gc, 10); $ while true; do node --expose-gc test.js || break; done { [Error: incorrect header check] errno: -3, code: 'Z_DATA_ERROR' } Assertion failed: (!write_in_progress_ && "write in progress"), function Clear, file ../src/node_zlib.cc, line 71. Abort trap: 6 Steps to avoid that: * Initialize all primitive member fields in the constructor. * Clear the write_in_progress_ member field in ZCtx::Error(). * Ref the ZCtx object as soon as write_in_progress_ is set to true. Before this commit, it could get GC'ed in the time between setting the field and the call to ctx->Ref(). Fixes #4783.
| * test: add TAP output to the test runnerTimothy J Fontaine2013-02-201-1/+27
| | | | | | | | This is a back-port of commit 14ed173 from the master branch.
| * blog: v0.9.10isaacs2013-02-191-0/+84
| |
* | process: separate nextTick domain logicTrevor Norris2013-02-273-14/+25
| | | | | | | | | | | | | | It's cleaner to only load domain ticker logic when the domains are being used. This makes execution slightly quicker in both cases, and simpler from the spinner since there is no need to check if the latest callback requires use of domains.
* | core: Remove the nextTick for running the main fileisaacs2013-02-278-22/+43
| | | | | | | | | | | | | | | | | | | | | | Not necessary, since we can handle the error properly on the first tick now, even if there are event listeners, etc. Additionally, this removes the unnecessary "_needTickCallback" from startup, since Module.loadMain() will kick off a nextTick callback right after it runs the main module. Fix #4856
* | core: Mark exit() calls with status codesisaacs2013-02-272-13/+13
| | | | | | | | Also, exit with 128+n for signal exit n, as is The Unix Way.
* | crypto: clear error stackBen Noordhuis2013-02-271-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | Clear OpenSSL's error stack on return from Connection::HandleSSLError(). This stops stale errors from popping up later in the lifecycle of the SSL connection where they would cause spurious failures. This commit causes a 1-2% performance regression on `make bench-tls`. We'll address that in follow-up commits if possible but let's ensure correctness first. Fixes #4771.
* | openssl: regenerate asm files for openssl 1.0.1eScott Blomquist2013-02-2620-26/+20
| |
* | stream: Writables are not pipe()ableisaacs2013-02-262-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This handles the fact that stream.Writable inherits from the Stream class, meaning that it has the legacy pipe() method. Override that with a pipe() method that emits an error. Ensure that Duplex streams ARE still pipe()able, however. Since the 'readable' flag on streams is sometimes temporary, it's probably better not to put too much weight on that. But if something is an instanceof Writable, rather than of Readable or Duplex, then it's safe to say that reading from it is the wrong thing to do. Fix #3647
* | test: Use common.PORT in simple/test-http-timeoutisaacs2013-02-261-1/+2
| |
* | test: Move test-net-connect-timeout to test/internetisaacs2013-02-261-0/+0
| | | | | | | | | | | | It is not a valid test unless you're connected to the internet, and causes a lot of spurious failures on Linux anyway, as it's highly dependent on timing of things that we don't have any control over.
* | test: Use common.PORT to determine debugger portisaacs2013-02-261-1/+4
| |
* | test: Fix debugger repl testsisaacs2013-02-263-221/+39
| | | | | | | | | | | | | | | | | | | | | | This makes the output of simple/test-debugger-repl and simle/test-debugger-repl-utf8 mirror an actual debugger session, so it's a bit easier to reason about. Also, it uses the same code for both, and fixes it so that it doesn't leave zombie processes lying around when it crashes. Run 1000 times without any failures or zombies.
* | test: catch break in simple/test-debugger-clientisaacs2013-02-261-8/+23
| | | | | | | | | | | | Handle break events that come out sometimes, by telling it to continue. Also, send the child a SIGTERM when it times out.
* | core: Use a uv_signal for debug listenerisaacs2013-02-261-2/+5
| | | | | | | | | | | | | | | | | | | | Starting the debugger directly in the SIGUSR1 signal handler results in a malloc lock contention ~1% of the time. It hangs the test, which is annoying on a daily basis to all of us, but it also is pretty terrible if you actually want to debug a node process that has gone sideways. Credit to @bnoordhuis for most of this. I just added the unref which keeps it from messing up the event loop for other stuff.
* | deps: upgrade libuv to a0c1d84Ben Noordhuis2013-02-2620-205/+526
| |
* | test: merge environment, don't overwriteBen Noordhuis2013-02-261-1/+2
| | | | | | | | | | | | | | | | The CI system requires that some environment variables are set so merge our variables into the current environment instead of blindly replacing it. This will probably have to be repeated for other tests. C'est la vie.
* | v8: Hardfloat does not imply VFPv3, only VFPv2.yangguo@chromium.org2013-02-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Raspberry Pi is an example. BUG=v8:2393 Review URL: https://chromiumcodereview.appspot.com/11570061 Patch from Chi-Thanh Christopher Nguyen <nguyenchithanh@gmail.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 This is a backport of v8/v8@44419ad089b729a1aab4a5f27c0833e2ce69d28b.
* | v8: work around String::WriteAscii segfaultBen Noordhuis2013-02-261-0/+2
| | | | | | | | | | | | | | | | | | | | See http://code.google.com/p/v8/issues/detail?id=2493 for details. This commit reapplies 9668df8. The issue has been fixed upstream but reappeared after last night's downgrade to V8 3.14.5 in commit b15a10e. Conflicts: test/simple/test-buffer.js
* | test: optionally set common.PORT via env variableTimothy J Fontaine2013-02-261-1/+1
| |
* | mips: fix openssl buildAndrei Sedoi2013-02-261-3/+3
| |