- Sep 03, 2013
-
-
isaacs authored
This is useful when we need to push some debugging messages out to stderr, without going through the Writable class, or triggering any kind of nextTick or callback behavior.
-
isaacs authored
It's a normal function now, not a macro.
-
Ben Noordhuis authored
* upgrade deps/uv/ to v0.11.12. * update files in src/ after a libuv API change.
-
Ben Noordhuis authored
* Exit with an error message when the option is not a node or V8 option. * Remove the option_end_index global. Needs to happen anyway for the multi-context work, might as well land it in master now. * Add a smidgen of const-correctness. * Pay off a few years of accrued technical debt.
-
Ben Noordhuis authored
--max-stack-size was removed in 3a87b31b, use --stack-size instead. What's more, a zero length stack will likely crash the process.
-
- Sep 01, 2013
-
-
Ben Noordhuis authored
Don't wait a full second before starting the watcher, 10 ms ought to be more than enough time. Reduces running time from 1250 ms to 250 ms on my system.
-
isaacs authored
-
isaacs authored
-
isaacs authored
The better to test --use-strict effects on performance. (Spoiler: it has no measurable effect on performance.)
-
- Aug 31, 2013
-
-
Ben Noordhuis authored
Don't call uv_loop_delete() until we've figured out a way to gracefully close open handles. See also commit 4915884d and its subsequent revert in commit 980cbd5. This reverts commit 556b890a.
-
Ben Noordhuis authored
This change is not entirely ready for prime time: it's making ~50 tests fail on Windows, mostly due to timeouts. It's up for debate who is at fault here: node.js or libuv. It does however expose a libuv bug on OS X, where the event loop sometimes gets stuck in uv__io_poll() when there is a single UV_SHUTDOWN request left in the queue. Needs further investigation. This reverts commit 4915884d.
-
Trevor Norris authored
These tests take a while to complete, and the issue only potentially appears under heavy load.
-
Ben Noordhuis authored
Commit 556b890a added a call to uv_loop_delete() with the intent of catching handle lifecycle bugs. It worked because it exposed one: process.on('exit', function() { console.log('bye'); // Asserts. }); When run, it asserts with the following message: Assertion failed: (!uv__has_active_reqs(loop)), function uv__loop_delete, file ../deps/uv/src/unix/loop.c, line 150. That's because libuv as of joyent/libuv@3f2d4d5 checks that there are no in-flight requests when the event loop is destroyed. In the test case above, the write request for the string hasn't completed yet by the time node.js exits: the string itself has most likely been written but libuv hasn't had the opportunity to return the write request to node.js. That's why this commit adds a cleanup step right before exit where it explicitly closes all open handles, then waits until the event loop exits naturally. Named pipes (UNIX domain sockets) are shut down first in order to flush pending write requests. Should go some way towards fixing the Windows issue where output on stdout/stderr sometimes gets truncated. Fixes joyent/libuv#911.
-
- Aug 29, 2013
-
-
Bert Belder authored
-
Ben Noordhuis authored
-
Ben Noordhuis authored
Remove NodeBIO::GetMethod() and replace calls to BIO_new() with calls to the new NodeBIO::New() function. This commit basically reshuffles some code in order to make it explicit that the NodeBIO BIO_METHOD is const.
-
Ben Noordhuis authored
Before this commit it was declared static (in a header file!), meaning it got duplicated in every file that includes it. A few duplicated pointers is not the end of the world but it introduces a lot of potential for confusion because root_cert_store in file A is not the root_cert_store in file B. Moral of the story: don't declare static variables in header files.
-
Ben Noordhuis authored
-
Ben Noordhuis authored
Doesn't matter now but it will if/when we have support for multiple threads.
-
Domenic Denicola authored
- The caveats no longer apply. - Document options arguments, including `displayErrors` and the different things it means in each place. - Re-did examples to be more on point, e.g. `runInContext` example runs multiple scripts in the same context. - Documented how `vm.createContext`s meaning has substantially changed, and is now more of a "contextifier" than a "creator." - Reordered vm functions to be readable in order; the concept of contextifying needs to come before `runInContext` and `runInNewContext`. - Documented new `vm.isContext`. - Documented the `vm.Script` constructor, instead of `createScript`, since factory methods are silly and we wanted to document the class's methods anyway. - Documented `script.runInContext`. - Change stability to stable, if I may be so bold.
-
Domenic Denicola authored
Passing a filename is still supported in place of certain options arguments, for backward-compatibility, but timeout and display-errors are not translated since those were undocumented. Also managed to eliminate an extra stack trace line by not calling through the `createScript` export. Added a few message tests to show how `displayErrors` works.
-
Bert Belder authored
-
Timothy J Fontaine authored
In `Timer.now` always update the loop time by calling uv_update_time. Previously we were trying to cache the loop time to prevent extra syscalls. While a noble goal, it can cause timers to fire early in certain circumstances. Especially seen in cpu bound work loads or work loads with synchronous file operations.
-
isaacs authored
Conflicts: AUTHORS ChangeLog deps/uv/ChangeLog deps/uv/include/uv-darwin.h deps/uv/src/unix/darwin.c deps/uv/src/unix/fsevents.c deps/uv/src/version.c lib/_stream_writable.js src/node_version.h
-
- Aug 28, 2013
-
-
Ben Noordhuis authored
Make the crypto.randomBytes() and crypto.pbkdf2() callback functions run inside the current domain (if any.) Fixes #3965.
-
Domenic Denicola authored
Previously, calling `vm.createContext(o)` repeatedly on the same `o` would cause new C++ `ContextifyContext`s to be created and stored on `o`, while the previous resident went off into leaked-memory limbo. Now, repeatedly trying to contextify a sandbox will do nothing after the first time. To detect this, an independently-useful `vm.isContext(sandbox)` export was added.
-
Domenic Denicola authored
This is always something you should do when using `SetHiddenValue`, apparently. Fixes #6115. Thanks @tjfontaine for the tips.
-
Domenic Denicola authored
This was a remnant of the original Contextify code, wherein ContextifyContext was a user-exposed object. In vm, it is not, so all of the ObjectWrap and function-template stuff for the ContextifyContext constructor is now unnecessary.
-
isaacs authored
Closes #6087
-
isaacs authored
Closes #6087
-
isaacs authored
Closes #6090
-
Mathias Buus authored
-
isaacs authored
There's no need to create a new Buffer instance if we're just going to immediately call toString() at the end anyway. Better to create a string up front, and setEncoding() on the streams, and do a string concatenation instead.
-
Seth Fitzsimmons authored
Only return strings when encoding is not null.
-
Trevor Norris authored
-
isaacs authored
Since the encoding is no longer relevant once it is decoded to a Buffer, it is confusing and incorrect to pass the encoding as 'utf8' or whatever in those cases. Closes #6119
-
Forrest L Norvell authored
Follows @isaacs's recommendations in joyent/node#5018. Includes some updates to documentation but not examples. Conflicts: lib/domain.js
-
isaacs authored
Just do the best we can with whatever libuv gives us. Also, document the semantics of `ctime` and the compatibility with Windows.
-