44c7898c29
[*] Developers developers developers developers
...
Absolute expiration times track any changes in the system time; relative expiration times are not affected by system time changes.
2024-04-23 23:20:53 +01:00
0164919cd9
[+] while_bc
2024-04-13 22:49:05 +01:00
9f5c0e559c
[*] Minor ConditionVariableNT optimization (SteadyClockNS() may syscall under vms)
2024-04-11 19:58:42 +01:00
ec44cc1d69
[*] Ensure these fallback primitives can be accessed by -> operator
2024-03-27 03:19:18 +00:00
03623dfa48
[*] c111dee8
cont. Simplification of if (SignalSpuriously()) AddWatcher() continued
2024-02-14 01:03:14 +00:00
c111dee855
[*] Harden WinXP-7 semaphores [ 2b0ed797
cont] [more paranoia]
...
[*] Dont overspin spurious modernnt condvar wakes
[*] Revert 2943ffdb's add waiter, if under modern nt
1: While spuriously waking a blocked keyed event, don't leave the condition variable in a state where signals can be ignored.
2024-02-11 06:22:19 +00:00
2b0ed79729
[*] NT Condvar hardening: Windows XP-7 hardening of the spin condition when racing against multiple threads
2024-02-08 13:14:18 +00:00
899e505b1e
[*] NT Win8+ FastPath: Fix missing BSL
2024-02-04 17:24:46 +00:00
62b6fa20f8
[*] Update the copyright header of most of the primitives
...
[*] Fix generic mutex abs yield always returning true
2024-01-29 14:48:04 +00:00
2943ffdbc2
[*] Harden Windows XP - 7 condvar; where signalers can lock up pending scheduling n threads whilst a spurious wake is occurring and trying to preemptively require the lock under the signal
2024-01-28 08:23:13 +00:00
d1c668b2c1
[*] wtf happened here? what the actual fuck ( 5cc811be19
5 months ago)
2024-01-27 09:15:31 +00:00
cf3d4fc001
[*] Amend 4fcdc798
WoA configuration
2024-01-23 18:21:10 +00:00
4fcdc798cf
[+] AuWoASemaphore.hpp configuration
2024-01-22 08:32:30 +00:00
34e49d2d10
[*] Removed redundant branches from AuThreadPrimitives
2024-01-21 21:15:57 +00:00
0d6d073b85
[*] No way should we be using DWORDs here
2024-01-07 02:26:34 +00:00
49a6173011
[+] Improved SMT yielding
...
[+] Clocks.aarch64.[h/c]pp
2024-01-02 05:54:22 +00:00
6037d14674
[-] hadnt fully removed the aggressive context switch thing from the old rwlock impl
2023-12-30 21:58:52 +00:00
4e0c68d7ad
[*] fix posix cont (crit) 3c19c7a5
2023-12-30 17:59:45 +00:00
3db7f527f4
[*] Extend paranoia
2023-12-30 14:56:17 +00:00
3c19c7a56e
[*] Fix posix WoASemaphoreImpl
2023-12-30 14:31:37 +00:00
ba6162a7ad
[*] An MSVC bug, but not really.
2023-12-30 00:25:53 +00:00
5862dbeacc
[+] New generic primitives
...
[-] AuSemaphore.Unix.hpp
[*] Moved the old pthread based primitives to _removed/*.bak
[+] AuWoASemaphore.Unix.cpp
[+] AuWoASemaphore.Unix.hpp
2023-12-29 16:12:14 +00:00
9c86d1c899
[*] Linux clean up (?) (+typo)
2023-12-23 03:16:43 +00:00
a932aa57d2
[*] Formatting pissing me off
...
[+] using AuWorkerId = AuAsync::WorkerId_t;
[+] using AuWorkerPId = AuAsync::WorkerPId_t;
[+] using AuWorkerID = AuAsync::WorkerPId_t;
2023-12-16 06:42:37 +00:00
0747ff230e
[*] Thread primitives optimization
...
[*] Fix wake on address regression
2023-12-10 21:38:41 +00:00
8005b67d82
[*] :/
2023-12-08 13:03:14 +00:00
367118ab0c
[*] (NT Condvar) Minor performance fix
...
[*] (NT Condvar) Suspected XP-Win7 deadlock
2023-12-06 19:15:06 +00:00
8b4ad9795c
[*] Update the FutexSemaphore to wake no more than the requested wake count
...
[*] Cleanup NTs semaphore
2023-12-06 11:17:50 +00:00
0c1c6d7c24
[*] Formatting regressions (+ 1x double-based RNG regression)
2023-12-01 03:43:06 +00:00
43583a1748
[+] IRWLock::CheckSelfThreadIsWriter
2023-12-01 01:15:35 +00:00
22f2e73954
[+] ConditionEx::WaitForSignalAbsNS
2023-11-29 06:08:09 +00:00
e071b3d509
[+] WaitOnAddress[Steady](..., AuOptional<bool> optAlreadySpun = {}) arguments
...
[+] ...slight UWP optimization?
[*] Lift WoA limitation
2023-10-30 15:29:20 +00:00
718b5a9316
[*] Nt Condvars: I'm paranoid about this potential race condition
2023-10-20 10:04:06 +01:00
23ddcf9ba1
[*] Trivial XP+ semaphore optimization for high wake counts
2023-10-12 17:00:13 +01:00
c3165de4cf
[*] RWLock: Disable dumb scatter switch for now
2023-09-23 02:50:54 +01:00
76bd36939e
[*] Simplify RWLock some more
2023-09-23 02:40:23 +01:00
f59de8b4ae
[*] Two typos and change bPreferEmulatedWakeOnAddress to true under NIX
2023-09-20 18:32:02 +01:00
9e1655d579
[*] Clean up RWLock
2023-09-19 17:36:21 +01:00
7477bfe56f
[*] A Linux and other OS insurance policy: rel/xref 7357764c
2023-09-19 02:05:11 +01:00
5a9292ad1a
[*] ...yes
2023-09-19 01:38:16 +01:00
7357764cfc
[*] Fix abnormal ::UnlockWrite performance under heavyweight native WaitOnAddress platforms (Linux, BSD-like, etc)
2023-09-18 18:21:46 +01:00
a96788623f
[*] Fix linux build warning and not quite complete linux ipc fix a4f6db7ec9
2023-09-17 18:36:20 +01:00
81775a76bf
[*] Linux: build regressions
2023-09-15 00:10:40 +01:00
6ff27c6855
[*] This was bothering me - 4b0a7c65
cont
2023-09-12 21:56:58 +01:00
4b0a7c651a
[*] Guess I should finalize this for linux. The verbosity of writing a cas in the wait loops is stupid if we arent doing anything special with the bits.
2023-09-12 16:12:54 +01:00
403c186f0a
[*] Improve NT semaphore: use a different internal api now. Might help uncontested servers with work queues using semaphores
2023-09-12 13:28:46 +01:00
d727859cc2
[*] Linux/Modern NT regression in new optimized event wait path
2023-09-10 23:06:58 +01:00
22efbff12f
[*] 74dc6772
cont: this structure is going to be padded to 32bits anyway. this makes the atomic operations easier
2023-09-10 18:10:36 +01:00
b539cfb353
[*] 74dc6772
cont: improvements
2023-09-10 15:04:32 +01:00
74dc6772b0
[+] Non-mutually exclusive binary semaphore / event wait path
...
[+] ThreadingConfig::gPreferFutexEvent
2023-09-10 14:50:59 +01:00