Welcome to this week’s wrap up of the week in Node and libuv covering March 28-April 3. The purpose of this blog is to recap a subset of the non-documentation related commits to Node.js, plus give a little color and commentary to the ongoing development of Node.
This week’s Master branch highlights
A few changes were made in regards to DTrace including:
- DTrace probes have been updated to accommodate platforms that can’t handle structs. For example OSX doesn’t support dereferencing structs in probes. Yep, some folks are pretty excited about this!
- Checks to make sure
_handleis an object before trying to read its
property and in the process avoiding bogus values
_handle.fdvalue is now associated with requests and responses when using DTrace/systemtap subsystems
You can now pass options to convenience methods.
This week’s v0.10 branch highlights
Node v0.10.3 (Stable) is out!
Isaac pushed a fix that addressed issue #5107 to ensure socket cleanup on response end. The problem here was that if an exception was thrown in the handler of an HTTP response, the connection could not then be returned to the pool until a time out occured a few minutes later. This meant the connection pool could have gotten saturated and opened the door for some nasty things like a DoS attack while Node is unable to reach a host.
Isaac pushed a second fix that addressed issue #5145 in which Andre reported that sockets were not closing with Keep Alive and HTTPS against IIS Server. In v0.10 it was decided that the
‘close’ event and
destroy() method were to be application-specific and that
Stream.pipe() wouldn’t automatically call
destroy(). But, as was discovered, TLS actually depended on the old v0.8
Stream.pipe() method, which automatically destroyed the destination stream whenever the src stream closed.
The following master commits (discussed above) were backported to the current branch:
- dtrace: check if _handle property is set
- dtrace: actually use the _handle.fd value
- dtrace: pass more arguments to probes
This week’s blogs, tutorials, how-to’s and news: