diff options
author | Rickard Green <[email protected]> | 2015-08-25 15:47:29 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2015-08-27 14:18:43 +0200 |
commit | 5a02ed2f3505f5ed3282c6b43963e19e63e49905 (patch) | |
tree | c1afca1b4a3450f186f4ad1304d04bc9576f1feb /erts/include/internal/win | |
parent | 6b4c2dbd1b4a30f421611987acec6315c62ac9d5 (diff) | |
download | otp-5a02ed2f3505f5ed3282c6b43963e19e63e49905.tar.gz otp-5a02ed2f3505f5ed3282c6b43963e19e63e49905.tar.bz2 otp-5a02ed2f3505f5ed3282c6b43963e19e63e49905.zip |
Fix ethread events with timeout
Lots of pthread platforms unnecessarily falled back on the pipe/select
solution. This since we tried to use the same monotonic clock source
for pthread_cond_timedwait() as used by OS monotonic time. This has
been fixed on most platforms by using another clock source.
Darwin can however not use pthread_cond_timedwait() with monotonic
clock source and has to use the pipe/select solution. On darwin we
now use select with _DARWIN_UNLIMITED_SELECT in order to be able to
handle a large amount of file descriptors.
Diffstat (limited to 'erts/include/internal/win')
-rw-r--r-- | erts/include/internal/win/ethr_event.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/erts/include/internal/win/ethr_event.h b/erts/include/internal/win/ethr_event.h index bf110e10f9..458565b9ea 100644 --- a/erts/include/internal/win/ethr_event.h +++ b/erts/include/internal/win/ethr_event.h @@ -56,6 +56,7 @@ ETHR_INLINE_FUNC_NAME_(ethr_event_reset)(ethr_event *e) #endif int ethr_event_init(ethr_event *e); +int ethr_event_prepare_timed(ethr_event *e); int ethr_event_destroy(ethr_event *e); int ethr_event_wait(ethr_event *e); int ethr_event_swait(ethr_event *e, int spincount); |