Commit graph

86 commits

Author SHA1 Message Date
Jakob Bornecrantz b699d0a2b3 os/threading: Document os_cond 2023-08-22 18:49:11 +01:00
Weijie Wang 7d8ca2c162 os/threading: Add mutex recursive wrapper 2023-08-22 18:42:00 +01:00
Christoph Haag 1451bd9993 os/time: Add windows impl of os_realtime_get_ns 2023-06-08 17:01:12 +01:00
sdegrande 2f3f9e0cb9 build,a/{os,util},xrt,ipc: Fix compilation with Mingw64 on MSYS2
Main changes:
- use the pthread lib provided by Mingw64
- include windows.h where needed
- define XRT_ENV_MINGW
2023-06-05 12:03:47 -05:00
Jakob Bornecrantz 2a12f7d661 os/time: Use timePeriod[Begin|End] when sleeping in precise sleeper
One alternative to this is to use the CreateWaitableTimerExW function
with the CREATE_WAITABLE_TIMER_HIGH_RESOLUTION flag. On my systems the
function/flag was either as good or worse then timePeriod[Begin|End].
Setting the state globally or just just around the wait didn't seem to
have an impact on the precision.
2022-11-25 17:02:00 +00:00
Jakob Bornecrantz d33b2b136f a/os: Add comments about DSOs 2022-10-27 17:19:57 +00:00
Jakob Bornecrantz 637c49c1ea a/os: Refactor out BLE functions into own library 2022-10-27 17:19:57 +00:00
Jakob Bornecrantz 96eabd1347 a/os: Add BLE stub functions 2022-10-27 17:19:57 +00:00
Moses Turner d2e2c3a988 cmake: Run cmake-format.sh 2022-09-19 21:57:37 +01:00
Julian Petrov 3b1e34ee20 a/os: Add QPC helper for getting win32 ticks 2022-06-09 14:48:27 -04:00
Jakob Bornecrantz a4983fa5b1 auxiliary: Break apart CMakeLists.txt file 2022-05-23 09:12:54 -05:00
Ryan Pavlik 907edf10a3 a/os: Add more docs for correct use of condition variables 2022-05-20 21:30:41 +00:00
Ryan Pavlik fd25fc75bc a/os: Rearrange time header to get the docs outside of the ifdefs.
Easier to read, easure to be sure we don't accidentally miss something
for doxygen.
2022-05-20 15:48:02 -05:00
Ryan Pavlik ea4c14c3aa a/os: Rename os_thread_helper_stop to os_thread_helper_stop_and_wait 2022-05-20 18:46:37 +01:00
Ryan Pavlik 14aed90183 a/os: Add "initialized" flags to threading primitives (in debug builds)
Failling to init these (other than zero-init) works fine on Linux, but fails on Windows.
So now we at least have an assert on Linux.
2022-05-20 18:40:18 +01:00
Ryan Pavlik 1aba4348dc a/os: Fix naming convention for function pointer 2022-05-20 18:40:16 +01:00
Ryan Pavlik 3b54152563 auxiliary: Improve word choice/clarity 2022-05-17 17:40:56 -05:00
Ryan Pavlik 8bd7d199cb a/os: Improve docs in the threading header. 2022-05-17 12:39:44 -05:00
Ryan Pavlik 1e307e8e9f a/os: Add a function to set thread name. 2022-05-17 12:39:44 -05:00
Frederic Plourde 2e42373d21 aux/os: Fix os_semaphore_get_realtime_clock()
Function was previously using output param 'ts' as
input for computing 'now' internally.
2022-05-16 20:56:53 +00:00
Ryan Pavlik 3e6ec47296 monado: Apply clang-tidy fixes to most of the codebase.
All at least visually inspected, some revised from the auto-fixit
2022-04-13 09:34:54 -05:00
Ryan Pavlik ad1961fce7 auxiliary: Fix or disable a number of warnings
Both MSVC and doxygen warnings.
2022-04-12 23:06:11 +00:00
Mateo de Mayo b6cd12a860 misc: Add gui nullcheck and initialize thread running field 2022-04-06 11:50:17 -03:00
Jakob Bornecrantz 76d8944765 os/threading: Add os_cond wrapper 2022-03-11 15:29:16 +00:00
Ryan Pavlik 8030468f95 os: Add a c++ wrapper for our mutex types 2022-02-08 17:00:11 +00:00
Ryan Pavlik f4b61d9e41 a/os: Fix some it's vs its. 2021-11-03 17:24:17 -05:00
Mateo de Mayo 891842cb51 os: Change os_nanosleep parameter to int64_t 2021-10-28 11:40:49 +00:00
Ryan Pavlik d6177777e5 os: Fix os_nanosleep on Windows. 2021-10-15 13:05:18 -05:00
Ryan Pavlik 3351ef5396 os: Add new thread helper methods 2021-10-15 13:05:18 -05:00
Ryan Pavlik 793a7d659d os: Improve docs for thread helper. 2021-10-15 11:57:44 -05:00
Ryan Pavlik 967efb4a12 a/os: SetWaitableTimer wants durations in hundreds of ns. 2021-09-20 09:25:31 -05:00
Moses Turner 0b2dd35b60 aux/os: Add os_mutex_trylock 2021-08-16 21:02:27 +01:00
Ryan Pavlik 701ea290d0 os: Fix comment typo. 2021-04-13 11:46:53 -05:00
Ryan Pavlik b3280c5bc1 os/time: Small cleanup. 2021-03-31 12:02:41 -05:00
Ryan Pavlik aa3d1c1f6a os: Add os_precise_sleeper.
Mostly to be able to use a timer on Windows.
2021-03-31 12:02:41 -05:00
Ryan Pavlik 47bf17a0cc os: Improve comment and prototype for os_nanosleep 2021-03-31 12:02:41 -05:00
Ryan Pavlik 0717975853 os: Improve timestamp retrieval on Windows. 2021-03-31 12:02:41 -05:00
Ryan Pavlik 00915cab0f os: Add caveats to some timespec conversion functions. 2021-03-31 12:02:41 -05:00
Ryan Pavlik ddc9b00d14 os: Adjust how we compute the timeout for a semaphore.
Preparation for overhaul of timing on Windows.
2021-03-31 12:02:36 -05:00
Ryan Pavlik b93b082bd3 aux: Fix doxygen warnings 2021-03-26 17:10:53 -05:00
Mateo de Mayo 75e908552f doc: Fix missing entities from modules documentation 2021-03-06 20:34:35 -03:00
Christoph Haag 42996d6b1c os/hid: Add get_physical_address() 2021-02-12 02:44:00 +01:00
Jakob Bornecrantz 2b996f30c4 xrt: Reflow after column change 2021-01-15 13:50:32 +00:00
Lubosz Sarnecki e350e42ca9 aux/os/ble_dbus: Use printf padding. 2020-12-28 13:04:11 +00:00
Lubosz Sarnecki 79dde59f7e aux/os/ble_dbus: Port to u_logging. 2020-12-28 13:04:11 +00:00
Christoph Haag 3d3361706c os/threading: Fix typo in comment 2020-11-30 15:38:07 +00:00
Jakob Bornecrantz aa7f922e35 os/time: Add a Linux specific way to get the realtime clock (for RealSense) 2020-11-09 23:42:13 +00:00
Jakob Bornecrantz 4bbe25148b os/time: Make timespec argument const 2020-11-09 23:42:11 +00:00
Ryan Pavlik 7cebdb4763 aux/os: More defines to calm clang-tidy. 2020-11-09 16:18:00 -06:00
Jakob Bornecrantz 0804dc20d1 os/ble: Use logging 2020-10-05 16:22:02 +01:00