The usage of timespec_get in mesa is invalid.
mesa should not use timespec_get for cnd_timedwait, cnd_timedwait should use monotonic time get function such as
clock_gettime(CLOCK_MONOTONIC , &ts);
The following are the usage of timespec_get
18 results - 12 files
meson.build:
1392
1393: foreach f : ['strtof', 'mkostemp', 'timespec_get', 'memfd_create', 'random_r',
1394 'flock', 'strtok_r', 'getrandom', 'qsort_r', 'qsort_s']
docs\relnotes\18.0.0.rst:
173 - u_queue.c:173:7: error: implicit declaration of function
174: 'timespec_get' is invalid in C99
175 - `Bug 103746 <https://bugs.freedesktop.org/show_bug.cgi?id=103746>`__
docs\relnotes\19.2.0.rst:
52 - u_queue.c:173:7: error: implicit declaration of function
53: 'timespec_get' is invalid in C99
54 - `Bug 104395 <https://bugs.freedesktop.org/show_bug.cgi?id=104395>`__
docs\relnotes\20.3.4.rst:
38 - Mesa 20.3.x crashes pidgin on AMD RX480
39: - timespec_get used unconditionally / build fails when targeting macOS 10.14 or earlier
40 - libunwind not located / used on macOS
123 - util: Fix pointer to integer conversion error when using libunwind
124: - Fall back on clock_gettime when timespec_get() is unavailable
125
docs\relnotes\21.0.0.rst:
82 - RADV: Extreme overhead in vkQueueSubmit
83: - timespec_get used unconditionally / build fails when targeting macOS 10.14 or earlier
84 - Graphical glitch of popupping missing texture on Mesa version \>18.0.5 (Padoka Stable + Unstable/Oibaf/ubuntu-x-swat PPAs)
1743 - util: Fix pointer to integer conversion error when using libunwind
1744: - Fall back on clock_gettime when timespec_get() is unavailable
1745 - Adjust dylib compatibility versions to match what was set by mesa-18.3's autotools-based builds
docs\relnotes\21.1.0.rst:
225 - Mesa 20.3.x crashes pidgin on AMD RX480
226: - timespec_get used unconditionally / build fails when targeting macOS 10.14 or earlier
227 - libunwind not located / used on macOS
1660 - docs: update calendar for 21.0.0-rc3
1661: - Scons: check for timespec_get on windows as well as unices
1662 - docs: Remove 21.0 features from features_new.txt
2795 - darwin: Use the system libunwind
2796: - Fall back on clock_gettime when timespec_get() is unavailable
2797 - Adjust dylib compatibility versions to match what was set by mesa-18.3's autotools-based builds
2950 - wgl: Match opengl32.dll export ordinals.
2951: - util: Always use timespec_get on Windows.
2952 - appveyor: Remove integration.
docs\relnotes\21.2.0.rst:
142 - Supraland: flickering black bars on ground
143: - u_queue.c:173:7: error: implicit declaration of function 'timespec_get' is invalid in C99
144 - radv: front face and cull mode dynamic state can desync
include\c11\threads_posix.h:
386 static inline int
387: timespec_get(struct timespec *ts, int base)
388 {
include\c11\threads_win32.h:
140 struct timespec now;
141: timespec_get(&now, TIME_UTC);
142 const time_t now_ms = impl_timespec2msec(&now);
513 static inline int
514: timespec_get(struct timespec *ts, int base)
515 {
src\gallium\drivers\llvmpipe\lp_fence.c:
133
134: timespec_get(&ts, TIME_UTC);
135
src\util\u_queue.c:
186 #if defined(HAVE_TIMESPEC_GET) || defined(_WIN32)
187: timespec_get(&ts, TIME_UTC);
188 #else
src\vulkan\runtime\vk_sync_timeline.c:
478 struct timespec abstime;
479: timespec_get(&abstime, TIME_UTC);
480 if (timespec_add_ns_overflow(abstime, rel_timeout_ns, &abstime)) {
rational: C23 n2647 standard introduce TIME_MONOTONIC for doing that
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2647.pdf
Also deadlock happened at https://github.com/edenhill/librdkafka/issues/2145
Edited by Yonggang Luo