Commit Graph

1390 Commits

Author SHA1 Message Date
03623dfa48 [*] c111dee8 cont. Simplification of if (SignalSpuriously()) AddWatcher() continued 2024-02-14 01:03:14 +00:00
11e18d462a [+] ErrorStack::HasOOMCondition() 2024-02-14 00:40:38 +00:00
8b64a97514 [*] RequestHeapOfRegion should take a memory view 2024-02-13 05:11:05 +00:00
39ba32df3c [+] AuNewClassArrayUnique
[+] AuNewClassArray
[+] AuNewClassUnique
[+] AuNewClass
[*] Unfuck/refactor GetDefaultDiscontiguousHeap
2024-02-13 03:18:13 +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
12fd03a6dd [*] WoA acbd6266 cont (?). I think I'm still getting messed up by over-optimizations as opposed to there being a genuine bug in the primitives. Made the accesses to the comparison volatile during deep sleeps, whereas before we were just casting to regular integer pointers or performing a memcmp.
00:29:11:820	15>  1 functions were new in current compilation
00:29:11:820	15>  51 functions had inline decision re-evaluated but remain unchanged
(it did *something*)
2024-02-08 01:55:16 +00:00
899e505b1e [*] NT Win8+ FastPath: Fix missing BSL 2024-02-04 17:24:46 +00:00
0784d9101c [*] Harden AuAsync shutdown 2024-02-01 21:35:42 +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
2b69c07b67 [*] IncrementAbortFenceOnWorker should support kThreadIdAny 2024-01-26 03:04:23 +00:00
9e7615d80c [*] Same thread name identity in these constructors 2024-01-23 23:31:09 +00:00
7038787001 [+] Thread name identities 2024-01-23 23:03:52 +00:00
cb751d0286 [*] Fix regressions in work groups 2024-01-23 22:59:13 +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
98e76f0832 [*] POSIX hardening: dont COW this futex 2024-01-21 18:41:53 +00:00
75f39b9858 [*] AuOpen.Unix.cpp didn't look right 2024-01-21 18:33:27 +00:00
db37b81729 [*] fix optionals 2024-01-21 00:34:47 +00:00
4f340aae47 [*] Shorten LOC of AuOpen.Unix.cpp 2024-01-20 20:36:07 +00:00
648fbea6c1 [*] This stupid fuck regression should've been caught earlier (AuProcesses unable to open files due to attack mitigations determining every file as being blocked) 2024-01-20 20:20:57 +00:00
acbd62666f [*] WoA: This member must be marked volatile due to over ::WaitOn optimization of assumed single-threaded control flow 2024-01-19 21:37:31 +00:00
dbdfceb97f [*] Amended NewClass[Array] tracking 2024-01-18 00:01:52 +00:00
fce755f293 [+] Added uOldLength to the free function pointer type of the memory leak detection interface 2024-01-17 20:59:51 +00:00
c3e0418e1a [+] Aurora::Memory::HeapProxy[Ex]
[*] Heap improvements
[+] Heap::NewClassArray
2024-01-17 15:22:35 +00:00
895ef05887 [*] Allow empty file creation via NULL memoryviews 2024-01-14 14:15:11 +00:00
363560e9e9 [*] Amended protostack api: ::GetParent() should not be using the internal type 2024-01-12 14:14:17 +00:00
927b5a2eef [*] Fix old bug: grug was incorrectly using MS instead of NS under the limiter [high-cpu] 2024-01-11 18:46:40 +00:00
ba66c25651 [+] ICompletionGroup::IsNeverEnding
[+] ICompletionGroup::SetNeverEnding
2024-01-11 12:19:54 +00:00
22a6338da4 [*] Use AuRoundUpPow2 in AuRNG 2024-01-11 09:17:56 +00:00
95adfe127d [*] eng-regression: introduce missing RuntimeWaitForSecondaryTick's 2024-01-09 05:08:54 +00:00
bab44d097a [*] Updated to a fixed version of O(1) heap (partial update from 2022'Sept was incomplete) 2024-01-07 04:45:33 +00:00
0d6d073b85 [*] No way should we be using DWORDs here 2024-01-07 02:26:34 +00:00
1e10d95b0b [*] Update TryAttachToCompletionGroup under NT file stream 2024-01-06 22:23:56 +00:00
3766ea8b86 [+] IAsyncTransaction::GetCompletionGroup
[*] IO improvements
2024-01-06 04:32:54 +00:00
3c7eff396f [+] IAsyncOutputOf::TryAttachProcessExitToCompletionGroup
[+] IAsyncOutputOf::ICompletionGroupWorkHandle
2024-01-06 01:32:03 +00:00
2ebf2811bd [*] Leave the signal, dont callback
[*] ...and attach
[*] ...and check args
[*] ...and always check later at least once
2024-01-06 01:26:48 +00:00
6d77a55d75 [+] ICompletionGroup::WaitForAnyMS
[+] ICompletionGroup::WaitForAnyNS
2024-01-05 12:06:17 +00:00
f1e170add0 [+] IProcess::TryAttachProcessExitToCompletionGroup
[+] IProcess::ToCompletionGroupHandle
2024-01-05 09:25:48 +00:00
3090fa3996 [*] Missed close handle / rushed sharing 2024-01-04 21:38:10 +00:00
72a3513a04 [+] New stream adapters
[+] IRandomDevice::ToStreamReader
[+] AuIO::Adapters::NewRandomAdapter
[+] AuIO::Adapters::NewNOPsReadAdapter
[+] AuIO::Adapters::NewNOPsSeekingAdapter
[+] AuIO::Adapters::NewNOPsWriteAdapter
[+] AuIO::Adapters::NewZerosReadAdapter
[+] AuIO::Adapters::NewZerosSeekingAdapter
2024-01-03 23:54:46 +00:00
aa811f93aa [*] Readd the public symbols to create base kernel io primitives for interop 2024-01-03 17:36:45 +00:00
ce1ae24506 [+] IIOHandle::InitFromSharing
[+] IIOHandle::SharingGetString
[+] IIOHandle::SharingIsShared
[+] IIOHandle::SharingStop
[+] HANDLEPipeServer.[h/c]pp
2024-01-03 02:39:54 +00:00
1c0efebd87 [+] AuLoop::DbgLoopSourceToReadFd
[+] AuLoop::DbgLoopSourceToWriteFd
2024-01-03 01:49:15 +00:00
81093fa2cd [*] Fixup Linux io timeouts (mixed ms/ns) 2024-01-02 07:55:06 +00:00
d199b52c0f [*] Improved support for completion groups when used with net streams 2024-01-02 07:06:42 +00:00
49a6173011 [+] Improved SMT yielding
[+] Clocks.aarch64.[h/c]pp
2024-01-02 05:54:22 +00:00