User Tools

Site Tools


realtime:documentation:howto:applications:application_base

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
realtime:documentation:howto:applications:application_base [2023/08/29 07:45]
kaiwan Add a section on leveraging the capabilities model to run the RT app as non-root (continued)
realtime:documentation:howto:applications:application_base [2024/05/31 15:54] (current)
alison [Scheduling and priority]
Line 30: Line 30:
 the pthread attributes and not to use the inherit scheduling of the the pthread attributes and not to use the inherit scheduling of the
 thread which created the real-time thread. thread which created the real-time thread.
 +</​wrap>​
 +  - **Problems with pthread condition variables** \\ <​wrap>​
 +Multithreaded applications which rely on glibc'​s libpthread are prone to unexpected latency delays since its condition variable implementation does not honor priority inheritance ([[https://​sourceware.org/​bugzilla/​show_bug.cgi?​id=11588|bugzilla]]). Unfortunately glibc'​s DNS resolver and asynchronous I/O implementations depend in turn on these condition variables.
 +[[https://​github.com/​dvhart/​librtpi|librtpi]] is an alternative LGPL-licensed pthread implementation which supports priority inheritance,​ and whose API is as close to glibc'​s as possible. ​ The alternative [[https://​www.musl-libc.org/​|MUSL libc]] has a pthread condition variable implementation similar to glibc'​s.
 </​wrap>​ </​wrap>​
  
realtime/documentation/howto/applications/application_base.1693295141.txt.gz ยท Last modified: 2023/08/29 07:45 by kaiwan