#
25c369d4 |
| 22-Sep-2015 |
Jianghua Yang |
unix: fix memory leak in uv_interface_addresses PR-URL: https://github.com/libuv/libuv/pull/537 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com> |
#
030b6e1a |
| 29-Aug-2015 |
Jianghua Yang |
freebsd: obtain true uptime through clock_gettime() Obtain true uptime through clock_gettime() instead of subtracting 'bootime' from 'now'. PR-URL: https://github.com/libuv/libu
freebsd: obtain true uptime through clock_gettime() Obtain true uptime through clock_gettime() instead of subtracting 'bootime' from 'now'. PR-URL: https://github.com/libuv/libuv/pull/497 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
#
c8eebc93 |
| 15-Jun-2015 |
Michael Neumann |
dragonflybsd: fix uv_exepath This fixes a bug I have noticed with nodejs: > cat test.js console.log(process.execPath); > node test.js (on DragonFly) node test.j
dragonflybsd: fix uv_exepath This fixes a bug I have noticed with nodejs: > cat test.js console.log(process.execPath); > node test.js (on DragonFly) node test.js > node test.js (on Linux) node PR-URL: https://github.com/libuv/libuv/pull/399 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
Revision tags: v1.6.1, v1.6.0 |
|
#
bddd6a84 |
| 26-May-2015 |
Saúl Ibarra Corretgé |
core: add ability to customize memory allocator This patch is composed by the work done in https://github.com/libuv/libuv/pull/231 and https://github.com/libuv/libuv/pull/287 plus so
core: add ability to customize memory allocator This patch is composed by the work done in https://github.com/libuv/libuv/pull/231 and https://github.com/libuv/libuv/pull/287 plus some changes by yours truly. Thanks @beevik and @mattsta for their work on this! PR-URL: https://github.com/libuv/libuv/pull/368 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
show more ...
|
Revision tags: v1.5.0 |
|
#
1f711e4d |
| 29-Apr-2015 |
Saúl Ibarra Corretgé |
Revert "memory: add uv_replace_allocator" This reverts commit c272f1f1bc0bda625e6441d798c110b4064a6ce2. The concept will come back to libuv, but it needs some more work. |
#
c272f1f1 |
| 26-Feb-2015 |
Brett Vickers |
memory: add uv_replace_allocator With uv_replace_allocator, it's possible to override the default memory allocator's malloc and free calls with functions of the user's choosing. This
memory: add uv_replace_allocator With uv_replace_allocator, it's possible to override the default memory allocator's malloc and free calls with functions of the user's choosing. This allows libuv to interoperate with projects requiring a custom memory allocator. Internally, all calls to malloc and free have been replaced with uv__malloc and uv__free, respectively. The uv__malloc and uv__free functions call malloc and free unless they have been overridden by a previous call to uv_replace_allocator. As part of this change, the special aligned memory allocations performed in src/win/fs-event.c have been replaced with standard allocations. The 4-byte alignment being requested in this file was unnecessary, since standard allocators already guarantee at least an 8-byte alignment. PR-URL: https://github.com/libuv/libuv/pull/231 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
Revision tags: v0.10.36, v1.4.2, v0.10.35, v1.4.1, v0.10.34, v1.4.0, v1.3.0, v0.10.33 |
|
#
32747c75 |
| 20-Jan-2015 |
Andrius Bentkus |
win,unix: move loop functions which have identical implementations uv_default_loop, uv_loop_new, uv_loop_close, uv_loop_delete PR-URL: https://github.com/libuv/libuv/pull/144 Re
win,unix: move loop functions which have identical implementations uv_default_loop, uv_loop_new, uv_loop_close, uv_loop_delete PR-URL: https://github.com/libuv/libuv/pull/144 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-by: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
Revision tags: v1.2.1 |
|
#
c3e22b75 |
| 12-Jan-2015 |
Saúl Ibarra Corretgé |
freebsd: make uv_exepath more resilient PR-URL: https://github.com/libuv/libuv/pull/129 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> |
Revision tags: v1.2.0, v0.10.32 |
|
#
afb31921 |
| 02-Jan-2015 |
Ben Noordhuis |
unix: make uv_exepath(size=0) return UV_EINVAL Make the behavior of a call to uv_exepath() with a size argument of zero consistent with the Windows implementation where it returns UV_EIN
unix: make uv_exepath(size=0) return UV_EINVAL Make the behavior of a call to uv_exepath() with a size argument of zero consistent with the Windows implementation where it returns UV_EINVAL. PR-URL: https://github.com/libuv/libuv/pull/104 Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
Revision tags: v1.1.0, v0.10.31, v1.0.2, v0.10.30, v1.0.1, v1.0.0, v0.10.29, v1.0.0-rc2, v1.0.0-rc1, v0.11.29, v0.11.28, v0.11.27, v0.10.28, v0.11.26 |
|
#
36b38cbd |
| 23-Jun-2014 |
Andrius Bentkus |
style: remove trailing whitespace Signed-off-by: Fedor Indutny <fedor@indutny.com> |
Revision tags: v0.10.27, v0.11.25, v0.11.24, v0.11.23, v0.10.26, v0.11.22, v0.11.21, v0.11.20, v0.10.25, v0.11.19, v0.10.24, v0.11.18, v0.10.23, v0.10.22, v0.11.17, v0.10.21, v0.11.16, v0.10.20, v0.11.15, v0.10.19 |
|
#
21c37a7d |
| 30-Oct-2013 |
Ben Noordhuis |
linux: use CLOCK_MONOTONIC_COARSE if available On some systems, clock_gettime(CLOCK_MONOTONIC) is only serviced from the vDSO when the __vdso_clock_gettime() wrapper is confident enough
linux: use CLOCK_MONOTONIC_COARSE if available On some systems, clock_gettime(CLOCK_MONOTONIC) is only serviced from the vDSO when the __vdso_clock_gettime() wrapper is confident enough that the vDSO timestamp is highly accurate. When in doubt, it falls back to making a traditional SYS_clock_gettime system call with all the overhead that entails. While a commendable approach, it's overkill for our purposes because we don't usually need high precision time. That's why this commit switches to CLOCK_MONOTONIC_COARSE for low-precision timekeeping, provided said clock has at least a one millisecond resolution. This change should eliminate the system call on almost all systems, including virtualized ones, provided the kernel is >= 2.6.32 and glibc is new enough to find and parse the vDSO.
show more ...
|
Revision tags: v0.11.14, v0.10.18, v0.10.17 |
|
#
05822a55 |
| 11-Sep-2013 |
Ben Noordhuis |
unix: wrap long lines at 80 columns |
Revision tags: v0.10.16, v0.11.13, v0.11.12, v0.11.11, v0.11.10, v0.10.15, v0.11.9, v0.10.14, v0.11.8, v0.11.7, v0.10.13 |
|
#
e3a657c6 |
| 20-Jul-2013 |
Brian White |
unix, windows: add MAC to uv_interface_addresses() Make uv_interface_addresses() return the MAC address as a 48 bits binary value in the phys_addr field of the uv_interface_address_t
unix, windows: add MAC to uv_interface_addresses() Make uv_interface_addresses() return the MAC address as a 48 bits binary value in the phys_addr field of the uv_interface_address_t struct.
show more ...
|
Revision tags: v0.11.6, v0.10.12, v0.11.5, v0.10.11 |
|
#
3ee4d3f1 |
| 06-Jun-2013 |
Ben Noordhuis |
unix, windows: return error codes directly This commit changes the libuv API to return error codes directly rather than storing them in a loop-global field. A code snippet like
unix, windows: return error codes directly This commit changes the libuv API to return error codes directly rather than storing them in a loop-global field. A code snippet like this one: if (uv_foo(loop) < 0) { uv_err_t err = uv_last_error(loop); fprintf(stderr, "%s\n", uv_strerror(err)); } Should be rewritten like this: int err = uv_foo(loop); if (err < 0) fprintf(stderr, "%s\n", uv_strerror(err)); The rationale for this change is that it should make creating bindings for other languages a lot easier: dealing with struct return values is painful with most FFIs and often downright buggy.
show more ...
|
Revision tags: v0.10.10, v0.11.4, v0.10.9, v0.10.8, v0.11.3, v0.10.7, v0.10.6, v0.11.2, v0.10.5, v0.10.4, v0.11.1, node-v0.11.0, v0.10.2, node-v0.7.3, node-v0.7.7, node-v0.7.5, node-v0.5.3, node-v0.10.1, node-v0.10.0, node-v0.9.12, node-v0.9.11, node-v0.8.21, node-v0.8.19, node-v0.9.10, node-v0.9.7, node-v0.9.6 |
|
#
339033af |
| 06-Jan-2013 |
Ben Noordhuis |
unix: use uv__hrtime() internally This commit renames the various uv_hrtime() implementations to uv__hrtime(). Libuv uses the high-res timer internally in performance-critical code
unix: use uv__hrtime() internally This commit renames the various uv_hrtime() implementations to uv__hrtime(). Libuv uses the high-res timer internally in performance-critical code paths. Calling the non-public version avoids going through the PLT when libuv is compiled as a shared object. The exported uv_hrtime() now has a single definition in src/unix/core.c that calls uv__hrtime(). A future optimization is to lift the uv__hrtime() declarations into header files so they can be inlined at the call sites. Then again, linking with -flto should accomplish the same thing.
show more ...
|
Revision tags: node-v0.9.4, node-v0.8.17 |
|
#
5aa62980 |
| 19-Nov-2012 |
Ben Noordhuis |
dragonflybsd: make uv_cpu_info() less broken |
Revision tags: node-v0.8.15, node-v0.9.3, node-v0.8.12, node-v0.8.10, node-v0.9.2, node-v0.8.9, node-v0.9.1 |
|
#
1282d648 |
| 22-Aug-2012 |
Ben Noordhuis |
unix: remove dependency on libev |
Revision tags: node-v0.8.8 |
|
#
201b8f93 |
| 18-Aug-2012 |
Bert Belder |
Merge branch 'v0.8'
|
#
ce87b7e1 |
| 17-Aug-2012 |
Tim Holy |
unix: fix integer overflow in uv_hrtime Conversion to nanoseconds was overflowing with 32-bit builds. |
#
894b0fc0 |
| 17-Aug-2012 |
Ben Noordhuis |
unix: move platform init out of loop.c Move platform-specific initialization logic out of loop.c and into the platform files (freebsd.c, sunos.c, etc). |
Revision tags: node-v0.8.7, node-v0.8.6, node-v0.8.5, node-v0.6.21, node-v0.8.3 |
|
#
94355e47 |
| 13-Jul-2012 |
Ben Noordhuis |
unix: fix format string vulnerability in freebsd.c uv_set_process_title() was susceptible to a format string vulnerability: $ node -e 'process.title = Array(42).join("%s")'
unix: fix format string vulnerability in freebsd.c uv_set_process_title() was susceptible to a format string vulnerability: $ node -e 'process.title = Array(42).join("%s")' Segmentation fault: 11 (core dumped) The fix is trivial - call setproctitle("%s", s) instead of setproctitle(s) - but valgrind complains loudly about reads from and writes to uninitialized memory in libc. It's not a libuv bug because the test case below triggers the same warnings: #include <sys/types.h> #include <unistd.h> int main(void) { setproctitle("%s", "test"); return 0; } That's why this commit replaces setproctitle() with sysctl(KERN_PROC_ARGS). This commit reapplies commit a9f6f06, which got reverted in 69a6afe. The revert turned out to be unnecessary.
show more ...
|
#
69a6afea |
| 18-Jul-2012 |
Ben Noordhuis |
unix: undo changes to uv_set_process_title() It's making node.js crash when run as root. Backtrace: (gdb) bt #0 0x00007fff856e3ff9 in __findenv () #1 0x00007fff856e4
unix: undo changes to uv_set_process_title() It's making node.js crash when run as root. Backtrace: (gdb) bt #0 0x00007fff856e3ff9 in __findenv () #1 0x00007fff856e404c in getenv () #2 0x000000010004c850 in loop_init (loop=0x10045a792, flags=8) at ev.c:1707 #3 0x000000010004cb3b in ev_backend [inlined] () at /Users/tjfontaine/Development/node/deps/uv/src/unix/ev/ev.c:2090 #4 0x000000010004cb3b in ev_default_loop (flags=1606417108) at ev.c:2092 #5 0x000000010004e5c6 in uv__loop_init (loop=0x10066e330, default_loop=1) at loop.c:52 #6 0x0000000100044367 in uv_default_loop () at core.c:196 #7 0x0000000100004625 in node::Init (argc=1606417456, argv=0x100b0f490) at node.cc:2761 #8 0x000000010000797d in node::Start (argc=1606417600, argv=0x0) at node.cc:2888 #9 0x0000000100000ca4 in start () This reverts commits: b49d6f7 unix: fix uv_set_process_title() a9f6f06 unix: fix format string vulnerability in freebsd.c a87abc7 unix: avoid buffer overflow in proctitle.c dc97d44 unix: move uv_set_process_title() to proctitle.c
show more ...
|
#
a9f6f06f |
| 13-Jul-2012 |
Ben Noordhuis |
unix: fix format string vulnerability in freebsd.c uv_set_process_title() was susceptible to a format string vulnerability: $ node -e 'process.title = Array(42).join("%s")'
unix: fix format string vulnerability in freebsd.c uv_set_process_title() was susceptible to a format string vulnerability: $ node -e 'process.title = Array(42).join("%s")' Segmentation fault: 11 (core dumped) The fix is trivial - call setproctitle("%s", s) instead of setproctitle(s) - but valgrind complains loudly about reads from and writes to uninitialized memory in libc. It's not a libuv bug because the test case below triggers the same warnings: #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h> int main(void) { setproctitle("%s", "test"); return 0; } That's why this commit replaces setproctitle() with sysctl(KERN_PROC_ARGS).
show more ...
|
Revision tags: node-v0.9.0, node-v0.8.2 |
|
#
be09be7f |
| 04-Jul-2012 |
Ben Noordhuis |
unix: fix memory corruption in freebsd.c |
Revision tags: node-v0.8.1, node-v0.8.0, node-v0.7.12, node-v0.7.11 |
|
#
59cda867 |
| 07-Jun-2012 |
Ben Noordhuis |
unix, test: make NANOSEC a 64 bits unsigned int Avoids accidental overflow / truncation when it's used in 32 bits arithmetic. |