aboutsummaryrefslogtreecommitdiffstats
path: root/erts/include/internal/win
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2015-08-25 15:47:29 +0200
committerRickard Green <[email protected]>2015-08-27 14:18:43 +0200
commit5a02ed2f3505f5ed3282c6b43963e19e63e49905 (patch)
treec1afca1b4a3450f186f4ad1304d04bc9576f1feb /erts/include/internal/win
parent6b4c2dbd1b4a30f421611987acec6315c62ac9d5 (diff)
downloadotp-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.h1
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);