summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 2013.03.11, Version 0.10.0 (Stable)v0.10.0v0.10.0-releaseisaacs2013-03-103-2/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * npm: Upgrade to 1.2.14 * core: Append filename properly in dlopen on windows (isaacs) * zlib: Manage flush flags appropriately (isaacs) * domains: Handle errors thrown in nested error handlers (isaacs) * buffer: Strip high bits when converting to ascii (Ben Noordhuis) * win/msi: Enable modify and repair (Bert Belder) * win/msi: Add feature selection for various node parts (Bert Belder) * win/msi: use consistent registry key paths (Bert Belder) * child_process: support sending dgram socket (Andreas Madsen) * fs: Raise EISDIR on Windows when calling fs.read/write on a dir (isaacs) * unix: fix strict aliasing warnings, macro-ify functions (Ben Noordhuis) * unix: honor UV_THREADPOOL_SIZE environment var (Ben Noordhuis) * win/tty: fix typo in color attributes enumeration (Bert Belder) * win/tty: don't touch insert mode or quick edit mode (Bert Belder)
* stream: Don't emit 'end' unless read() calledisaacs2013-03-1015-22/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This solves the problem of calling `readable.pipe(writable)` after the readable stream has already emitted 'end', as often is the case when writing simple HTTP proxies. The spirit of streams2 is that things will work properly, even if you don't set them up right away on the first tick. This approach breaks down, however, because pipe()ing from an ended readable will just do nothing. No more data will ever arrive, and the writable will hang open forever never being ended. However, that does not solve the case of adding a `on('end')` listener after the stream has received the EOF chunk, if it was the first chunk received (and thus, length was 0, and 'end' got emitted). So, with this, we defer the 'end' event emission until the read() function is called. Also, in pipe(), if the source has emitted 'end' already, we call the cleanup/onend function on nextTick. Piping from an already-ended stream is thus the same as piping from a stream that is in the process of ending. Updates many tests that were relying on 'end' coming immediately, even though they never read() from the req. Fix #4942
* stream: Avoid nextTick warning filling read bufferisaacs2013-03-102-5/+22
| | | | | | | | | | | | | | | | | | | | | | | In the function that pre-emptively fills the Readable queue, it relies on a recursion through: stream.push(chunk) -> maybeReadMore(stream, state) -> if (not reading more and < hwm) stream.read(0) -> stream._read() -> stream.push(chunk) -> repeat. Since this was only calling read() a single time, and then relying on a future nextTick to collect more data, it ends up causing a nextTick recursion error (and potentially a RangeError, even) if you have a very high highWaterMark, and are getting very small chunks pushed synchronously in _read (as happens with TLS, or many simple test streams). This change implements a new approach, so that read(0) is called repeatedly as long as it is effective (that is, the length keeps increasing), and thus quickly fills up the buffer for streams such as these, without any stacks overflowing.
* events: Handle missing error obj when domains in useJulian Gruber2013-03-102-0/+43
| | | | | | | | so `ee.emit('error')` doesn't throw when domains are active create an empty error only when handled by a domain test for when no error is provided to an error event
* http: ServerRequest does not timeout after 'end'koichik2013-03-103-50/+86
| | | | Fixes #4967
* http: Do not setTimeout a not-yet-existent socketisaacs2013-03-102-1/+58
| | | | Fixes #4967
* uv: Upgrade to 5462dabisaacs2013-03-092-2/+3
|
* win/msi: Fix typosisaacs2013-03-092-9/+9
|
* npm: Upgrade to 1.2.14 (fixed)isaacs2013-03-091-5/+8
|
* http: check if incoming parser has already been freedhc2013-03-092-1/+63
| | | | | | | | | | | Fix #4948 This adds a check before setting the incoming parser to null. Under certain circumstances it'll already be set to null by freeParser(). Otherwise this will cause node to crash as it tries to set null on something that is already null.
* timers: consistent this keyword in setImmediateAndreas Madsen2013-03-092-1/+65
| | | | | | | | | | When calling setImmediate with extra arguments the this keyword in the callback would refer to the global object, but when not calling setImmediate with extra arguments this would refer to the returned handle object. This commit fixes that inconsistency so its always set handle object. The handle object was chosen for performance reasons.
* domain: Fix double-exit on nested domainsisaacs2013-03-092-5/+41
| | | | Minor oversight in fix for #4953.
* Now working on 0.10.0isaacs2013-03-081-2/+2
|
* lintisaacs2013-03-081-1/+1
|
* stream: Always defer preemptive reading to improve latencyGil Pedersen2013-03-081-6/+10
|
* Merge remote-tracking branch 'ry/v0.8' into masterisaacs2013-03-082-0/+73
|\ | | | | | | | | | | | | Conflicts: AUTHORS ChangeLog src/node_version.h
| * Revert "build, windows: disable SEH"Bert Belder2013-03-081-1/+0
| | | | | | | | | | This is no longer necessary - the underlying issue was fixed in 01fa5ee. This reverts commit d87904286024f5ceb6a2d0d5f17e919c775830a0.
| * win/openssl: mark assembled object files as seh safeBert Belder2013-03-081-0/+1
| | | | | | | | | | | | There are no unsafe structured exception handlers in object files generated from hand-crafted assembly - because they contain no exception handlers at all.
| * windows/msi: fix msi build issue with WiX 3.7/3.8Raymond Feng2013-03-081-0/+1
| | | | | | | | | | The `heat` tool that gathers NPM source files wasn't getting called. Closes #4896
| * blog: Post for v0.8.22isaacs2013-03-061-0/+62
| |
| * Now working on 0.8.23isaacs2013-03-061-2/+2
| |
| * Merge branch 'v0.8.22-release' into v0.8isaacs2013-03-063-2/+14
| |\
| | * 2013.03.07, Version 0.8.22 (Stable)v0.8.22v0.8.22-releaseisaacs2013-03-063-2/+14
| |/ | | | | | | | | | | | | | | | | | | * npm: Update to 1.2.14 * cluster: propagate bind errors (Ben Noordhuis) * crypto: don't assert when calling Cipher#final() twice (Ben Noordhuis) * build, windows: disable SEH (Ben Noordhuis)
* | test: Fail faster in simple/test-cluster-bind-twice-v2isaacs2013-03-081-0/+11
| | | | | | | | Crashing on windows, but at least now it's a crash rathert han a timeout.
* | test: Kill zombies when debugger-client fails on windowsisaacs2013-03-081-1/+9
| |
* | test: Don't run async operation in process 'exit'isaacs2013-03-081-8/+2
| | | | | | | | | | | | Also, this seems to occasionally cause some annoying file-locking errors in Windows. Not sure if this is the best fix, but it seems to make the warnings go away in that spot.
* | test: Use copy instead of symlink in child-process-fork-exec-pathisaacs2013-03-081-6/+7
| |
* | test: Trim cat output for windowsisaacs2013-03-081-1/+2
| |
* | test: Sending dgram sockets to child procs not supported on windowsisaacs2013-03-081-0/+5
| |
* | core: Append filename properly in dlopen on windowsisaacs2013-03-081-1/+1
| | | | | | | | Fixes simple/test-module-loading on win32
* | test: Make stream2-transform less timing-dependentisaacs2013-03-081-11/+9
| |
* | test: Don't fail tls-session-cache if openssl is badisaacs2013-03-081-5/+18
| |
* | zlib: Manage flush flags appropriatelyisaacs2013-03-083-17/+93
| | | | | | | | | | | | | | If you call z.flush();z.write('foo'); then it would try to write 'foo' before the flush was done, triggering an assertion in the zlib binding. Closes #4950
* | domains: Handle errors thrown in nested error handlersisaacs2013-03-082-5/+94
| | | | | | | | | | | | | | If a domain error handler throws, it should be caught if it was in a stack of nested domains. Fix #4953
* | buffer: speed up ascii character scanningBen Noordhuis2013-03-083-2/+114
| | | | | | | | | | Speed up ASCII character scanning and conversion by 25% to 30% by scanning and converting whole words instead of individual bytes.
* | buffer: strip high bits when converting to asciiBen Noordhuis2013-03-083-5/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider the following example: console.log(Buffer('ú').toString('ascii')); Before this commit, the contents of the buffer was used as-is and hence it prints 'ú'. Now, it prints 'C:'. Perhaps not much of an improvement but it conforms to what the documentation says it does: strip off the high bits. Fixes #4371.
* | Revert "http: check if incoming parser has already been freed"isaacs2013-03-082-51/+1
| | | | | | | | This reverts commit 9f4c3b0d45f858d3d3021ef4b8edebf6005008ff.
* | http: check if incoming parser has already been freedhheennrryy@gmail.com2013-03-082-1/+51
| | | | | | | | | | | | | | | | | | | | | | Fix #4948 This adds a check before setting the incoming parser to null. Under certain circumstances it'll already be set to null by freeParser(). Otherwise this will cause node to crash as it tries to set null on something that is already null.
* | doc: Add wrk's license to LICENSE fileisaacs2013-03-081-0/+181
| |
* | win/msi: enable modify and repairBert Belder2013-03-081-1/+0
| |
* | win/msi: miscellaneous style cleanupsBert Belder2013-03-081-29/+29
| |
* | win/msi: don't include architecture in start menu group nameBert Belder2013-03-081-1/+1
| |
* | win/msi: update 'install finished' messageBert Belder2013-03-081-1/+1
| |
* | win/msi: clean up the 'documentation shortcuts' featureBert Belder2013-03-081-22/+24
| |
* | win/msi: refactor 'node.js runtime' featureBert Belder2013-03-082-46/+50
| | | | | | | | | | | | * This feature now includes the start menu items. * 'nodejsvars.bat' was renamed to 'nodevars.bat'. * Improved feature description.
* | win/msi: make 'add to path' a separate featureBert Belder2013-03-081-13/+51
| |
* | win/msi: separate features for ETW and perfctr supportBert Belder2013-03-081-10/+32
| |
* | win/msi: make npm a feature separate from the runtimeBert Belder2013-03-082-22/+33
| |
* | win/msi: use consistent registry key pathsBert Belder2013-03-081-12/+12
| |
* | win/msi: don't create empty npm folder in %appdata%Bert Belder2013-03-081-13/+0
| | | | | | | | | | Npm creates this folder when it's needed. Creating it in the installer violates the per-user / per-machine scope separation.