GitHub PushEvent at 2014-08-07 07:10:56
Repository: node
Actor: prajitdas
Payload: {"shas":[["af69f88a9d57e302af632c047faffed7cca90772","748902ab7d31877eb5a6e67b4914e51dda4553ca@gmail.com","build: make sure changelog.html is generated","Timothy J Fontaine",false],["632c13562220f1a1f1fdf89c60cf69fd8bbac359","748902ab7d31877eb5a6e67b4914e51dda4553ca@gmail.com","src: use monotonic time for process.uptime()\n\n`process.uptime()` interface will return the amount of time the\ncurrent process has been running. To achieve this it was caching the\n`uv_uptime` value at program start, and then on the call to\n`process.uptime()` returning the delta between the two values.\n\n`uv_uptime` is defined as the number of seconds the operating system\nhas been up since last boot. On sunos this interface uses `kstat`s\nwhich can be a significantly expensive operation as it requires\nexclusive access, but because of the design of `process.uptime()` node\n*had* to always call this on start. As a result if you had many node\nprocesses all starting at the same time you would suffer lock\ncontention as they all tried to read kstats.\n\nInstead of using `uv_uptime` to achieve this, the libuv loop already\nhas a concept of current loop time in the form of `uv_now()` which is\nin fact monotonically increasing, and already stored directly on the\nloop. By using this value at start every platform performs at least\none fewer syscall during initialization.\n\nSince the interface to `uv_uptime` is defined as seconds, in the call\nto `process.uptime()` we now `uv_update_time` get our delta, divide by\n1000 to get seconds, and then convert to an `Integer`. In 0.12 we can\nmove back to `Number::New` instead and not lose precision.\n\nCaveat: For some platforms `uv_uptime` reports time monotonically\nincreasing regardless of system hibernation, `uv_now` interface is\nalso monotonically increasing but may not reflect time spent in\nhibernation.","Timothy J Fontaine",false],["bfb7de5e75f49ba250d1bb6f1b7a15bd3d6d7f2a","c824fe0afe16857dd6f587aa7c4044d2642d60fb@spanishdict.com","docs: fix links to streams\n\nSigned-off-by: Fedor Indutny <fedor@indutny.com>","William Bert",false],["1bd4f3a605216838619e4d7dc1eb1600b1deb91f","e39d94bae70283f13d24c278e04952d6dad9384b@indutny.com","child_process: fix deadlock when sending handles\n\nFix possible deadlock, when handles are sent in both direction\nsimultaneously. In such rare cases, both sides may queue their\n`NODE_HANDLE_ACK` replies and wait for them.\n\nfix #7465","Fedor Indutny",false],["9520adeb37f5ebe02a68669ec97770f4869705bb","042dc4512fa3d391c5170cf3aa61e6a638f84342@izs.me","url: treat \\ the same as /\n\nSee https://code.google.com/p/chromium/issues/detail?id=25916\n\nParse URLs with backslashes the same as web browsers, by replacing all\nbackslashes with forward slashes, except those that occur after the\nfirst # character.","isaacs",false],["75bc11cf12f53768654f7ac11f308fdf0296bd34","042dc4512fa3d391c5170cf3aa61e6a638f84342@izs.me","npm: upgrade to 1.4.7\n\n* isaacs, Robert Kowalski, Benjamin Coe: Test Improvements\n* isaacs doc: Add canonical url\n* isaacs view: handle unpublished packages properly\n* Raynos (Jake Verbaten) do not log if silent\n* Julian Gruber fix no such property error\n* isaacs npmconf@0.1.14\n* Thorsten Lorenz adding save-prefix configuration option\n* isaacs npm-registry-client@0.4.7\n* isaacs cache: treat missing versions as a 404\n* isaacs cache: Save shasum, write resolved/etc data to cache\n* isaacs cache: Always fetch root doc\n* isaacs cache: don't repack unnecessarily from tmp\n* Andrey Kislyuk Don't crash if shrinkwrap-dependencies were not passed in pkginfo\n* Robert Kowalski fix link in faq\n* Jean Lauliac Add a peerDependencies section in package.json doc\n* isaacs read-installed@2.0.2","isaacs",false],["0f3b72460b9987192d498700bbb02143a632f721","e39d94bae70283f13d24c278e04952d6dad9384b@indutny.com","crypto: work around OpenSSL oddness\n\nOpenSSL behaves oddly: on client `cert_chain` contains\nthe `peer_certificate`, but on server it doesn't.\n\nSigned-off-by: Fedor Indutny <fedor@indutny.com>","Fedor Indutny",true],["89e88e96df551d070ca35576e7063f2a338d340a","e39d94bae70283f13d24c278e04952d6dad9384b@indutny.com","crypto: fix memory leak in CipherBase::Final\n\nfix #7497\n\nSigned-off-by: Fedor Indutny <fedor@indutny.com>","Fedor Indutny",true],["3950024c2f54514916cb6e9fd5aec280a8823d3c","97f91ec84b962c9e621233ad9bb0f2646649cc81@gmail.com","doc: tls: added path property to tls.connect\n\nIn tls.connect a unix socket connection to a path may be made in\nrecent versions of node by specifying the value for the path\nproperty.\n\nSigned-off-by: Fedor Indutny <fedor@indutny.com>","Farrin Reid",true],["4601e7c8927ba5655f0872f1f1794aec2b9a4d56","e39d94bae70283f13d24c278e04952d6dad9384b@indutny.com","Revert \"deps: backport b5135bbc from c-ares repo\"\n\nThis reverts commit 896e19330ad06ace8973c5d7b75d2de538228062.\n\nProper handling of TXT records requires API change, we can't afford it\nin v0.10.\n\nSee #7371 for details.","Fedor Indutny",true],["a60a9b0dbd064cd70de9400ad47421c19d29b021","e39d94bae70283f13d24c278e04952d6dad9384b@indutny.com","deps: provide TXT chunk info in c-ares\n\nProvide more information in `ares_txt_reply` to coalesce chunks from the\nsame record into one string.\n\nfix #7367","Fedor Indutny",true],["bd24ab2bd788a196adaac316db20cde2c8c8e14d","59bd0a3ff43b32849b319e645d4798d8a5d1e889@bnoordhuis.nl","http: add request.flush() method\n\nForcibly flushes the request headers.  You need this with long-lived\nHTTP connections where the first data isn't written until the connection\nhas been established (think: tunneling requests over HTTP CONNECT.)\n\nFixes #7296.\n\nSigned-off-by: Fedor Indutny <fedor@indutny.com>","Ben Noordhuis",true],["b0fa931e0751df74242b9f069388b628e1ab43c2","354106e416911844661e1603d99ecf7d1c318dda@juliangruber.com","doc: fix order in net api\n\nSigned-off-by: Fedor Indutny <fedor@indutny.com>","Julian Gruber",true],["0ee99565f9dd41225fd5d4084403db82733c575e","354106e416911844661e1603d99ecf7d1c318dda@juliangruber.com","doc: fix missing link in net api\n\nSigned-off-by: Fedor Indutny <fedor@indutny.com>","Julian Gruber",true],["f9ced08de30c37838756e8227bd091f80ad9cafa","73675debcd8a436be48ec22211dcf44fe0df0a64@strongloop.com","deps: make v8 use CLOCK_REALTIME_COARSE\n\nDate.now() indirectly calls gettimeofday() on Linux and that's a system\ncall that is extremely expensive on virtualized systems when the host\noperating system has to emulate access to the hardware clock.\n\nCase in point: output from `perf record -c 10000 -e cycles:u -g -i`\nfor a benchmark/http_simple bytes/8 benchmark with a light load of\n50 concurrent clients:\n\n    53.69%     node  node                 [.] v8::internal::OS::TimeCurrentMillis()\n               |\n               --- v8::internal::OS::TimeCurrentMillis()\n                  |\n                  |--99.77%-- v8::internal::Runtime_DateCurrentTime(v8::internal::Arguments, v8::internal::Isolate*)\n                  |          0x23587880618e\n\nThat's right - over half of user time spent inside the V8 function that\ncalls gettimeofday().\n\nNotably, nearly all system time gets attributed to acpi_pm_read(), the\nkernel function that reads the ACPI power management timer:\n\n    32.49%     node  [kernel.kallsyms]    [k] acpi_pm_read\n               |\n               --- acpi_pm_read\n                  |\n                  |--98.40%-- __getnstimeofday\n                  |          getnstimeofday\n                  |          |\n                  |          |--71.61%-- do_gettimeofday\n                  |          |          sys_gettimeofday\n                  |          |          system_call_fastpath\n                  |          |          0x7fffbbaf6dbc\n                  |          |          |\n                  |          |          |--98.72%-- v8::internal::OS::TimeCurrentMillis()\n\nThe cost of the gettimeofday() system call is normally measured in\nnanoseconds but we were seeing 100 us averages and spikes >= 1000 us.\nThe numbers were so bad, my initial hunch was that the node process was\ncontinuously getting rescheduled inside the system call...\n\nv8::internal::OS::TimeCurrentMillis()'s most frequent caller is\nv8::internal::Runtime_DateCurrentTime(), the V8 run-time function\nthat's behind Date.now().  The timeout handling logic in lib/http.js\nand lib/net.js calls into lib/timers.js and that module will happily\ncall Date.now() hundreds or even thousands of times per second.\nIf you saw exports._unrefActive() show up in --prof output a lot,\nnow you know why.\n\nThat's why this commit makes V8 switch over to clock_gettime() on Linux.\nIn particular, it checks if CLOCK_REALTIME_COARSE is available and has\na resolution <= 1 ms because in that case the clock_gettime() call can\nbe fully serviced from the vDSO.\n\nIt speeds up the aforementioned benchmark by about 100% on the affected\nsystems and should go a long way toward addressing the latency issues\nthat StrongLoop customers have been reporting.\n\nThis patch will be upstreamed as a CR against V8 3.26.  I'm sending it\nas a pull request for v0.10 first because that's what our users are\nrunning and because the delta between 3.26 and 3.14 is too big to\nreasonably back-port the patch.  I'll open a pull request for the\nmaster branch once the CR lands upstream.\n\nSigned-off-by: Trevor Norris <trev.norris@gmail.com>\nSigned-off-by: Fedor Indutny <fedor@indutny.com>","Ben Noordhuis",true],["681fe599d7a45fb537f948c08e64cdce06bc585d","29fb6e2560bfbb84b018f49d9d482a079484b27d@gmail.com","vm: assign Environment to created context\n\nContextifyContext::CreateV8Context is now create context\nwith Environment pointer\n\nSigned-off-by: Fedor Indutny <fedor@indutny.com>","Denys Zariaiev",true],["250782d139ccec276ec24e401a78423a66dcf97a","f9f03903429036ef609ed7ca822fddfa76155c29@vagg.org","util: format as Error if instanceof Error\n\nConflicts:\n\tlib/util.js\n\ttest/simple/test-util-format.js\n\nThis is a backport to fix #7253\n\nSigned-off-by: Fedor Indutny <fedor@indutny.com>","Rod Vagg",true],["3f3a71e61e90d45293704f21c98bc0ea53bb09ff","59bd0a3ff43b32849b319e645d4798d8a5d1e889@bnoordhuis.nl","deps: fix v8 link error with glibc < 2.17\n\nCommit f9ced08 switches V8 on Linux over from gettimeofday() to\nclock_getres() and clock_gettime().  As of glibc 2.17, those functions\nlive in libc.  For older versions, we need to pull them in from librt.\n\nFixes the following link-time error;\n\n    Release/obj.target/deps/v8/tools/gyp/libv8_base.a(platform-posix.o):\n    In function `v8::internal::OS::Ticks()':\n    platform-posix.cc:(.text+0x93c):\n    undefined reference to `clock_gettime'\n    platform-posix.cc:(.text+0x989):\n    undefined reference to `clock_getres'\n\nFixes #7514.\n\nSigned-off-by: Fedor Indutny <fedor@indutny.com>","Ben Noordhuis",true],["226f98a356fb62a706bc860c36c9ebc6124d776e","aaadcb4f0eff68178146eb71b9bf7ef14c354229@gmail.com","buffer: add compare and equals methods\n\ncompare() works like String.localeCompare such that:\n\n    Buffer.compare(a, b) === a.compare(b);\n\nequals() does a native check to see if two buffers are equal.\n\nSigned-off-by: Trevor Norris <trev.norris@gmail.com>","Sean McArthur",true],["d13e0297c362c99062ba61d9569248938b2bb72a","2c50e4acca052c5b68902479636ee0b68bffad9a@yahoo.com","crypto: fix a couple of VC++ warnings\n\nSigned-off-by: Fedor Indutny <fedor@indutny.com>","Rasmus Christian Pedersen",true]],"size":246,"ref":"refs/heads/master","head":"e40137e0a3432118f8e82aadaaf67233acb2ddaf"}