Turn on strict mode for the files in the lib/ directory. It helps
catch bugs and can have a positive effect on performance.
PR-URL: https://github.com/node-forward/node/pull/64
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
When listening for client hello parser events (like OCSP requests), do
not hang if `newSession` event handler is not present.
fixjoyent/node#8660
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/node-forward/node/pull/47
Bring us a little closer to multi-isolate readiness by removing two
global variables.
Reviewed-By: Fedor Indutny <fedor@indutny.com>
PR-URL: https://github.com/node-forward/node/pull/58
properly create an EADDRINUSE condition rather than
simulating one with a plain file
PR-URL: https://github.com/node-forward/node/pull/59
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Work-around for long paths exceeding limits for UNIX socket binds,
emptyTxt would otherwise be burried deep in the fixtures directory.
PR-URL: https://github.com/node-forward/node/pull/51
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
* v8::Platform has a new MonotonicallyIncreasingTime() method,
implement it.
* The ASCII apocalypse continues with the replacement of external
ASCII strings with external one byte strings.
`SSL_get_peer_certificate` returns referenced X509 object, we should
decrement the reference count once it is not needed.
Fixjoyent/node#8674
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/node-forward/node/pull/56
Fix a Windows-only build error that was introduced in
commit 1183ba4 ("zlib: support concatenated gzip files").
Rename the NO_ERROR and FAILED enumerations, they conflict
with macros of the same name in <winerror.h>.
PR-URL: https://github.com/node-forward/node/pull/57
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Turn os.endianness() from a run-time function into a pure JS function.
Upsides: makes it a good candidate for inlining at the call site.
Downsides: none that I can think of.
PR-URL: https://github.com/node-forward/node/pull/55
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Killing the cluster master first on Windows causes an ESRCH when killing
the children as the OS takes care of them itself.
PR-URL: https://github.com/node-forward/node/pull/53
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Unlink NODE_COMMON_PIPE before running the test if set in the
environment. The test runner won't do it for us like it does
for files in test/tmp.
PR-URL: https://github.com/node-forward/node/pull/40
Reviewed-By: Rod Vagg <rod@vagg.org>
Add a .spec file and a rpmbuild(1) driver script. Useful for people
on RHEL-based systems that want to compile and package from source.
PR-URL: https://github.com/node-forward/node/pull/10
Reviewed-By: Rod Vagg <rod@vagg.org>
Fixes a bug that was introduced in commit f674b09 when v8::String::New()
calls were replaced with calls to one-byte, two-byte and UTF-8 versions.
It turns out that for network interface names, using a one-byte encoding
can produce the wrong results on Windows. Use UTF-8 instead.
Libuv on Windows correctly encodes non-ASCII characters in the interface
name as UTF-8. On Unices however, the interface name is just a binary
string with no particular encoding; that's why on UNIX platforms, we
keep interpreting it as a one-byte string.
Fixesjoyent/node#8633.
PR-URL: https://github.com/node-forward/node/pull/44
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Newer incarnations of the task manager only show the description, not
even the product name.
PR-URL: https://github.com/node-forward/node/pull/46
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuisl.nl>
There is not much point in keeping it a separate project because it
doesn't build standalone, plus it makes applying changes to core more
difficult because of the implicit dependency on header files in src/.
Make the root_certs global fully const. As a side effect, that moves it
from the .data section to the .rodata section. Makes it a little easier
to reason about the remaining globals.
Remove the dependency on the 'sysconfig' module, it breaks the build
when $(PYTHON) is python 2.6.
PR-URL: https://github.com/node-forward/node/pull/39
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Ignore cases where the handle is already gone, like we do in
`handle_wrap.cc`. It should be safe to close handle and then call some
binding methods on it, since the internal handle may be shared between
`_tls_wrap.js` and `net.js` modules.
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/node-forward/node/pull/37
This commit drops the semaphore in exchange for a second condition
variable and makes the task ring an array member instead of allocating
it on the heap. That in turn makes size calculations a little easier
because of the array's fixed size.
PR-URL: https://github.com/node-forward/node/pull/34
Reviewed-By: Fedor Indutny <fedor@indutny.com>
The elements of the heap-allocated TaskQueue::ring_ array in
src/node_v8_platform.cc were compared against without being
initialized first.
Fixesnode-forward/node#33.
PR-URL: https://github.com/node-forward/node/pull/34
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Currently when a server receives a new connection the underlying socket
handle begins reading data immediately. This causes problems when
sockets are passed between processes, as data can be read by the first
process and thus never read by the second process.
This commit allows sockets that are constructed with a handle to be
paused initially.
PR-URL: https://github.com/joyent/node/pull/8576
Fixes: https://github.com/joyent/node/issues/7905
Fixes: https://github.com/joyent/node/issues/7784
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
Also couple of additions about dispose and limitations of smalloc'ed
objects.
Fixes: https://github.com/joyent/node/pull/8625
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
The latest V8 upgrade and the C++11-ification of the source code in src/
requires a recent compiler. Update the requirements in the README.
Fixesnode-forward/node#35.
PR-URL: https://github.com/node-forward/node/pull/36
Reviewed-By: Fedor Indutny <fedor@indutny.com>
The previous commits fixed oversights in destructors that should have
been marked virtual but weren't. This commit marks destructors from
derived classes with the override keyword.
Make AsyncWrap::~AsyncWrap() virtual, otherwise it is unsafe to delete
a derived class through a pointer to AsyncWrap. Fortunately, we don't
do that anywhere right now; this commit is merely a preemptive bug fix.
Mark the matrix of copy/move constructor/assignment operator as deleted.
Prevents the object from being copied around (the macro already did that
pre-C++11), but also from being moved out.
Add `override` keywords where appropriate. Makes maintenance easier
because the compiler will shout at you when a base class changes in
an incompatible way.
Now that we are building with C++11 features enabled, replace use
of NULL with nullptr.
The benefit of using nullptr is that it can never be confused for
an integral type because it does not support implicit conversions
to integral types except boolean - unlike NULL, which is defined
as a literal `0`.