1. Nov 04, 2013
    • Ben Noordhuis's avatar
      src: squelch unused variable warning · 962686b6
      Ben Noordhuis authored
      |i| and |j| arent't used when building without crypto support.  Hat tip
      to Brian White.
      
      Rename |l| to |k| while we're here because it's quite hard to discern
      from |i| or |j| with some fonts.
      962686b6
  2. Oct 30, 2013
  3. Nov 02, 2013
  4. Nov 01, 2013
  5. Oct 30, 2013
    • Ben Noordhuis's avatar
      build: use zero overhead systemtap probes · c4def505
      Ben Noordhuis authored
      Profiling suggested that on Linux sometimes over 10% of CPU time was
      being spent inside the systemtap probe entry points in the binding
      layer, even when the process was not actively being traced with the
      `stap` tool.
      
      That's why this commit makes it possible to use the *_ENABLED() macros
      and bail out early when we're not being traced, reducing the overhead
      of unused probes to (almost) zero.
      
      Said macros were already being generated by `dtrace -h` but were not
      usable because they rely on external definitions.  To remedy that, we
      now generate the accompanying object files with `dtrace -G`.
      
      This commit includes a change to libuv that has been landed upstream in
      commit joyent/libuv@3c172ea.
      c4def505
  6. Oct 31, 2013
    • Fedor Indutny's avatar
      ba7c9ce9
    • Fedor Indutny's avatar
      tls: reuse hostname from underlying net.Socket · 5977cba9
      Fedor Indutny authored
      When `tls.connect()` is called with `socket` option, it should try to
      reuse hostname previously passed to `net.connect()` and only after that
      fall back to `'localhost'`.
      
      fix #6409
      5977cba9
    • Nick Simmons's avatar
      fs: add recursive subdirectory support to fs.watch · 691b9ebc
      Nick Simmons authored
      Currently fs.watch does not have an option to specify if a directory
      should be recursively watched for events across all subdirectories.
      
      Several file watcher APIs support this. FSEvents on OS X > 10.5 is
      one example. libuv has added support for FSEvents, but fs.watch had
      no way to specify that a recursive watch was required.
      
      fs.watch now has an additional boolean option 'recursive'. When set
      to true, and when supported, fs.watch will return notifications for
      the entire directory tree hierarchy rooted at the specified path.
      691b9ebc
  7. Oct 30, 2013
  8. Oct 29, 2013
  9. Oct 28, 2013
    • isaacs's avatar
      vm: Copy missing properties from context · 3c5ea410
      isaacs authored
      This addresses a current shortcoming of the V8 SetNamedPropertyHandler
      function.
      
      It does not provide a way to intercept Object.defineProperty(..) calls.
      As a result, these properties are not copied onto the contextified
      sandbox when a new global property is added via either a function
      declaration or a Object.defineProperty(global, ...) call.
      
      Note that any function declarations or Object.defineProperty() globals
      that are created asynchronously (in a setTimeout, callback, etc.) will
      happen AFTER the call to copy properties, and thus not be caught.
      
      The way to properly fix this is to add some sort of a
      Object::SetNamedDefinePropertyHandler() function that takes a callback,
      which receives the property name and property descriptor as arguments.
      
      Luckily, such situations are rare, and asynchronously-added globals
      weren't supported by Node's VM module until 0.12 anyway.  But, this
      should be fixed properly in V8, and this copy function should be removed
      once there is a better way.
      
      Fix #6416
      3c5ea410
    • Ben Noordhuis's avatar
      http: remove MethodToString() · 4c0195e0
      Ben Noordhuis authored
      The list of supported HTTP methods is available in JS land now so there
      is no longer any need to pass a stringified version of the method to the
      parser callback, it can look up the method name for itself.
      
      Saves a call to v8::Eternal::Get() in the common case and a costly
      v8::String::NewFromOneByte() in the uncommon case.
      4c0195e0
    • Ben Noordhuis's avatar
      http: expose supported methods · 61002285
      Ben Noordhuis authored
      Expose the list of supported HTTP methods as a property on the 'http'
      module object.
      
      Fixes #6422.
      61002285
    • Phillip Alexander's avatar
      977c54ad
  10. Oct 27, 2013
    • Ryan Graham's avatar
      doc: improve module documentation · 5ac6f4de
      Ryan Graham authored
      Expands on when to use module.exports vs. exports. This is a recurring
      question on mailing list and continues to confuse new devs.
      5ac6f4de