History log of /libuv/src/unix/thread.c (Results 51 – 75 of 76)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
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.

1234