diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2015-08-31 10:41:22 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2015-08-31 10:41:22 (GMT) |
| commit | b13ad887186f6e841d696f4b08dc53f9a2aab8a4 (patch) | |
| tree | c00c8e4ed596c500e03ca46811d7fe010bbc8916 /unix/tclUnixNotfy.c | |
| parent | 6e584734274ae6286fa7bdf4b14667b673ea68a0 (diff) | |
| parent | cdee0fcd74077f3208f3957e267a611192df1af1 (diff) | |
| download | tcl-b13ad887186f6e841d696f4b08dc53f9a2aab8a4.zip tcl-b13ad887186f6e841d696f4b08dc53f9a2aab8a4.tar.gz tcl-b13ad887186f6e841d696f4b08dc53f9a2aab8a4.tar.bz2 | |
Merge trunk.
Add Gustaf's latest fix for unit-tests.
Diffstat (limited to 'unix/tclUnixNotfy.c')
| -rw-r--r-- | unix/tclUnixNotfy.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/unix/tclUnixNotfy.c b/unix/tclUnixNotfy.c index 0493ee4..693eeac 100644 --- a/unix/tclUnixNotfy.c +++ b/unix/tclUnixNotfy.c @@ -1032,7 +1032,18 @@ Tcl_WaitForEvent( pthread_mutex_lock(¬ifierMutex); } #else - pthread_cond_wait(&tsdPtr->waitCV, ¬ifierMutex); + if (timePtr != NULL) { + Tcl_Time now; + struct timespec ptime; + + Tcl_GetTime(&now); + ptime.tv_sec = timePtr->sec + now.sec + (timePtr->usec + now.usec) / 1000000; + ptime.tv_nsec = 1000 * ((timePtr->usec + now.usec) % 1000000); + + pthread_cond_timedwait(&tsdPtr->waitCV, ¬ifierMutex, &ptime); + } else { + pthread_cond_wait(&tsdPtr->waitCV, ¬ifierMutex); + } #endif /* __CYGWIN__ */ } tsdPtr->eventReady = 0; |
