- Mar 11, 2014
-
-
Timothy J Fontaine authored
Previously if you wanted to be notified of pending handles for pipes you needed to use uv_read2_start, however in v0.11.22 you can query for pending handles independently.
-
Saúl Ibarra Corretgé authored
-
Timothy J Fontaine authored
-
Timothy J Fontaine authored
Conflicts: src/node.cc src/node.js test/message/max_tick_depth_trace.out
-
Shuhei Kagawa authored
The argument of process.stdin's readable event handler is not used.
-
Fedor Indutny authored
`crypto.getCiphers()` and `crypto.getHashes()` should prefer lower-case variants of names, but should not introduce them. fix #7282
-
Timothy J Fontaine authored
Internally we use hrtime to schedule when a timer will fire, to avoid the perils of clock drift or other external operation making time go backward. The timers ordering test should use the same timing mechanism
-
Vladimir Kurchatkin authored
-
Brian White authored
-
- Mar 07, 2014
-
-
Ben Noordhuis authored
Fix the following valgrind warning: Conditional jump or move depends on uninitialised value(s) at 0x7D64E7: v8::internal::GlobalHandles::IterateAllRootsWithClassIds(v8::internal::ObjectVisitor*) (global-handles.cc:613) by 0x94DCDC: v8::internal::NativeObjectsExplorer::FillRetainedObjects() (profile-generator.cc:2849) # etc. This was fixed upstream in r12903 and released in 3.15.2 but that commit was never back-ported to the 3.14 branch that node.js v0.10 uses. The code itself works okay; this commit simply shuffles the clauses in an `if` statement to check that the node is in use before checking its class id (which is uninitialized if the node is not in use.)
-
- Mar 06, 2014
-
-
Fedor Indutny authored
When sending a socket to a child process via IPC pipe, `child_process.js` picks a raw UV handle from `_handle` property, sends it, and assigns `null` to the property. Sending the same socket twice was resulting in a runtime error, since we weren't handling the empty `_handle` case. In case of `null` `_handle` we should send just a plain text message as passed it was passed to `.send()` and ignore the handle, letting users handle such cases themselves instead of throwing the error at runtime. fix #5469
-
Benoit Vallée authored
Added test-cluster-send-handle-twice.js testing to send a handle twice to the parent process.
-
- Mar 05, 2014
-
-
Ben Noordhuis authored
It's currently not really possible to compile native add-ons with -fvisibility=hidden because that also hides the struct containing the module definition. The NODE_MODULE() and NODE_MODULE_DECL() macros are structured in a way that makes it impossible to add a visibility attribute manually so there is no escape hatch there. That's why this commit adds an explicit visibility attribute to the module definition. It doesn't help with node.js releases that are already out there but at least it improves the situation going forward.
-
- Mar 04, 2014
-
-
Brian White authored
-
Brian White authored
-
Greg Brail authored
If two timers run on the same tick, and the first timer uses a domain, and then catches an exception and disposes of the domain, then the second timer never runs. (And even if the first timer does not dispose of the domain, the second timer could run under the wrong domain.) This happens because timer.js uses "process.nextTick()" to schedule continued processing of the timers for that tick. However, there was an exception inside a domain, then "process.nextTick()" runs under the domain of the first timer function, and will do nothing if the domain has been disposed. To avoid this, we temporarily save the value of "process.domain" before calling nextTick so that it does not run inside any domain.
-
Timothy J Fontaine authored
Previously if you cached process.nextTick and then require('domain') subsequent nextTick() calls would not be caught because enqueued functions were taking the wrong path. This keeps nextTick to a single function reference and changes the implementation details after domain has been required.
-
- Mar 03, 2014
-
-
Fedor Indutny authored
Conflicts: configure lib/_stream_readable.js lib/http.js src/node_dtrace.cc
-
- Mar 02, 2014
-
-
Fedor Indutny authored
Since `smalloc.h` is included in a `node_buffer.h`, including private headers in it is strictly prohibited. fix #7206
-
Fedor Indutny authored
When `setImmediate(cb)` is called in `beforeExit` event handler the consequent `uv_run(..., UV_RUN_NOWAIT)` may return `0`, even if there was some active handles at start. Fixes simple/test-beforeexit-event.js.
-
- Feb 28, 2014
-
-
Fedor Indutny authored
fix #7155
-
Sam Roberts authored
-
Ben Noordhuis authored
Unlike the 'exit' event, this event allows the user to schedule more work and thereby postpone the exit. That also means that the 'beforeExit' event may be emitted many times, see the attached test case for an example. Refs #6305.
-
Saúl Ibarra Corretgé authored
uv_loop_new and uv_loop_delete are considered deprecated now.
-
- Feb 27, 2014
-
-
Saúl Ibarra Corretgé authored
When the exit callback is fired for the child process we should close the handle associated with it.
-
Timothy J Fontaine authored
libuv gyp builds now require you to define the library disposition (static or shared). Also, libuv now supports vectored IO for file system reads and writes, update to those function signatures
-
Timothy J Fontaine authored
-
Nathan Rajlich authored
Between `ClientRequest` and `Agent`. The circular require was doing weird things at load time, like making the `globalAgent` property be `undefined` from within the context of the "_http_client" module. Removing the circular dependency completely fixes this. This commit effectively removes the undocumented `Agent#request()` and `Agent#get()` functions.
-
Nathan Rajlich authored
Don't invoke the `agent.requst()` or `agent.get()` functions directly. Instead, use the public API and pass the agent instance in as the `agent` option.
-
Nathan Rajlich authored
For the `request()` and `get()` functions. I could never really understand why these two functions go through agent first... Especially since the user could be passing `agent: false` or a different Agent instance completely, in which `globalAgent` will be completely bypassed. Moved the relevant logic from `Agent#request()` into the `ClientRequest` constructor. Incidentally, this commit fixes #7012 (which was the original intent of this commit).
-
Nathan Rajlich authored
See #7012.
-
Nathan Rajlich authored
This is just the test portion from #7012 / #7189, but targetted for the v0.10 branch.
-
Nathan Rajlich authored
This makes it so that the user may pass in a `createConnection()` option, and they don't have to pass `agent: false` at the same time. Also adding a test for the `createConnection` option, since none was in place before. See #7014.
-
Trevor Norris authored
Rely on defined order of operations by closing the server and destorying the client socket, instead of when setImmediate fires
-
Alexis Campailla authored
Expose `setBlocking` on Pipe's and if a pipe is being created for stdio on windows then make the pipes blocking. This fixes test-stream2-stderr-sync.js on Windows. Fixes #3584
-
Alexis Campailla authored
One test case in test-stream2-stderr-sync.js was creating a TTY object using an undocumented constructor and passing in fd 2. However, this is running in a child process and fd 2 is actually a pipe, not a TTY. The constructor fails on Windows and causes the handle type to be left uninitialized, which later causes an assert to fail. On Unix, the constructor fails to retrieve the windows size but unlike on Windows, it just leaves the size fields undefined and continues with initializing the stream type, yielding a semi-usable object. I could make the Windows version match Unix behavior, but it seems to me that the test is relying on an implementation detail of an undocumented API, and the Unix behavior is not necessarily more correct than the Windows one. Thus it makes more sense to remove this test.
-
- Feb 26, 2014
-
-
Maxwell Krohn authored
NodeBIO::Gets was reading off the end of a buffer if it didn't find a "\n" before the EOF. This behavior was causing X509 certificates passed to `https.Agent` via the "ca" option to be silently discarded. It also was causing improper parsing of certs and keys passed to https.Agent, but those problems were worked around in cdde9a38. Backed out workaround in `lib/crypto.js` from ccde9a3, which now isn't needed. But keep the test introduced in that commit, which tests properly for this bug. This bug was first introduced in a58f93f Gist containing test code, bisection log, and notes: https://gist.github.com/maxtaco/9211605
-
Alexis Campailla authored
The linker was optimizing the static variables that were supposed to trigger module initialization. I am making them non-static, and dllexport so that they don't get optimized away. Fixes #7116
-
Alexis Campailla authored
Fix a bug introduced by 3da36fe0 of a missed early return of a handle that needed to be passed to listen. Fixes test-net-listen-fd0.js on Windows
-
Timothy J Fontaine authored
This ends up being too difficult to test across different deployments
-