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, v0.10.16, v0.11.13, v0.11.12, v0.11.11 |
|
#
5d2434bf |
| 25-Aug-2013 |
Ben Noordhuis |
unix, windows: add thread-local storage API Uses the pthread_key_{create,delete} and pthread_{get,set}specific functions on UNIX platforms, Tls{Alloc,Free} and Tls{Get,Set}Value on W
unix, windows: add thread-local storage API Uses the pthread_key_{create,delete} and pthread_{get,set}specific functions on UNIX platforms, Tls{Alloc,Free} and Tls{Get,Set}Value on Windows. Fixes #904.
show more ...
|
Revision tags: v0.11.10, v0.10.15, v0.11.9, v0.10.14, v0.11.8, v0.11.7, v0.10.13, 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 ...
|
#
13f73fad |
| 05-Jul-2013 |
Ben Noordhuis |
Merge remote-tracking branch 'origin/v0.10'
|
#
37d0209c |
| 05-Jul-2013 |
Ben Noordhuis |
unix: fix build when !defined(PTHREAD_MUTEX_ERRORCHECK) Ancient versions of glibc (<= 2.3.1) don't have error-checking mutexes. |
Revision tags: v0.10.10 |
|
#
3fdd2a11 |
| 30-May-2013 |
Linus Mårtensson |
uv: support android libuv standalone build Tested most of my compilation in the previous patch on NodeJS and extracted the patches from there. This patch ensures libuv will be capabl
uv: support android libuv standalone build Tested most of my compilation in the previous patch on NodeJS and extracted the patches from there. This patch ensures libuv will be capable of building standalone as well, both with gyp and Makefiles. Build documentation was added to the README.md file. Some tests are failing, and I have not heavily investigated the reasons. The failures are generally on errors, and are likely related to differences between fully POSIX-compatible systems and android.
show more ...
|
Revision tags: v0.11.4, v0.10.9, v0.10.8, v0.11.3, v0.10.7, v0.10.6, v0.11.2 |
|
#
fc6a2ad2 |
| 08-May-2013 |
Linus Mårtensson |
unix: support for android builds Adds targets and fixes to ensure building for android works. To build on android, refer to the android standalone toolchain. |
Revision tags: 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 |
|
#
da33bba7 |
| 06-Feb-2013 |
Ben Noordhuis |
darwin: make uv_cond_timedwait() clock skew safe Use pthread_cond_timedwait_relative_np() so we're not prone to spurious bugs caused by clock skew. |
#
d5dd7d07 |
| 06-Feb-2013 |
Ben Noordhuis |
darwin: merge uv_cond_timedwait implementation This is a revised version of commit 8311390. |
#
60dd395a |
| 06-Feb-2013 |
Ben Noordhuis |
Revert "darwin: merge uv_cond_timedwait implementation" Using mach_absolute_time() for the pthread_cond_timedwait() timeout breaks a number of tests on OS X 10.8.2. This reverts
Revert "darwin: merge uv_cond_timedwait implementation" Using mach_absolute_time() for the pthread_cond_timedwait() timeout breaks a number of tests on OS X 10.8.2. This reverts commit 8311390f13177f3086ecdac875115d2d4cc2688b.
show more ...
|
#
8311390f |
| 04-Feb-2013 |
Ben Noordhuis |
darwin: merge uv_cond_timedwait implementation Merge the OS X specific implementation of uv_cond_timedwait() with the generic one. The only difference is that it now uses mach_absolute_t
darwin: merge uv_cond_timedwait implementation Merge the OS X specific implementation of uv_cond_timedwait() with the generic one. The only difference is that it now uses mach_absolute_time instead of gettimeofday.
show more ...
|
Revision tags: 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, node-v0.8.15, node-v0.9.3, node-v0.8.12 |
|
#
acea3028 |
| 09-Oct-2012 |
Hiroaki Nakamura |
unix, windows: add thread barrier support |
#
976c8a43 |
| 05-Oct-2012 |
Hiroaki Nakamura |
Add support for condition variables on all platforms |
Revision tags: node-v0.8.10, node-v0.9.2, node-v0.8.9, node-v0.9.1 |
|
#
120e2c13 |
| 22-Aug-2012 |
Ben Noordhuis |
darwin: fix return value of uv_sem_init() It should return 0 or -1, not the kernel status code. |
#
8969df60 |
| 22-Aug-2012 |
Fedor Indutny |
darwin: handle KERN_ABORTED in uv_sem_wait() |
Revision tags: node-v0.8.8, node-v0.8.7, node-v0.8.6, node-v0.8.5, node-v0.6.21 |
|
#
22f004db |
| 21-Jul-2012 |
Shuhei Tanuma |
unix: don't abort() when trylock functions return EBUSY Fixes #500. |
Revision tags: node-v0.8.3, node-v0.9.0 |
|
#
3726dee5 |
| 08-Jul-2012 |
Fedor Indutny |
unix: thread: use mach semaphores on osx |
Revision tags: node-v0.8.2, node-v0.8.1, node-v0.8.0, node-v0.7.12, node-v0.7.11, node-v0.7.10, node-v0.6.19 |
|
#
c76c2066 |
| 03-Jun-2012 |
Ben Noordhuis |
unix, windows: add semaphore functions |
#
7d97ba80 |
| 03-Jun-2012 |
Ben Noordhuis |
unix: make mutex sanity checks non-optional |
#
c03964f8 |
| 03-Jun-2012 |
Ben Noordhuis |
unix: set PTHREAD_MUTEX_ERRORCHECK in debug mode |
Revision tags: node-v0.7.9, node-v0.6.18, node-v0.6.16, node-v0.6.17, node-v0.7.8, node-v0.6.15, node-v0.6.14, node-v0.6.13, node-v0.7.6, node-v0.6.12, node-v0.6.11, node-v0.7.4, node-v0.6.10, node-v0.7.2, node-v0.6.9, node-v0.7.1 |
|
#
26512731 |
| 14-Jan-2012 |
Igor Zinkovsky |
remove uv_thread_self |
Revision tags: node-v0.7.0, node-v0.6.8, node-v0.6.7 |
|
#
69ce0145 |
| 20-Dec-2011 |
Ben Noordhuis |
Wrap platform "thread-safe run once" APIs. |
#
a993329c |
| 20-Dec-2011 |
Ryan Dahl |
add uv_thread_self |
Revision tags: node-v0.6.6, node-v0.6.4, node-v0.6.3 |
|
#
8e4ed88b |
| 21-Nov-2011 |
Ben Noordhuis |
Wrap platform thread APIs. |