Commit Graph

1492 Commits

Author SHA1 Message Date
3f265cf19b [*] IOHandle is now 192 bytes
[*] Autohandle duplication
2024-03-13 07:50:50 +00:00
582b32ded9 [*] harden 2024-03-13 05:37:51 +00:00
cac3746bf0 [*] Update CmdLine prototype: AuOptional<const AuString &> GetValue(const AuString &key) 2024-03-13 02:03:56 +00:00
5c34a8435b [*] d14ba6cf revert one force inline 2024-03-12 23:32:32 +00:00
d039055bc1 [*] Optimize _NTLikeQueryFrequency under Win10 2024-03-12 22:54:03 +00:00
d14ba6cfd4 [+] AuThreading::EWaitMethod
[+] AuThreading::TryWaitOnAddressSpecial
[+] AuThreading::TryWaitOnAddressSpecialEx
[+] AuThreading::WaitOnAddressSpecial
[+] AuThreading::WaitOnAddressSpecialSteady
2024-03-12 22:50:22 +00:00
2ba5ae6fa5 [*] Windows 10 LTSC / other branches crash on startup fix (missing FOLDERID_UserProgramFiles for some reason) 2024-03-12 04:32:45 +00:00
0f4a7bf8cb [*] Update GetSystemResourcePath to check package path before user rw directories 2024-03-11 21:22:24 +00:00
db1ff0cbf8 [*] Refactored FS resources to return AuOptional<const AuString &> 2024-03-11 21:05:03 +00:00
631fad8fd0 [+] ERngStringCharacters::eLowerAlphaNumericCharacters
[+] ERngStringCharacters::eUpperAlphaNumericCharacters
2024-03-11 17:33:36 +00:00
bd83945f4d [*] Update temp path/dir filenames 2024-03-11 17:14:59 +00:00
f401c6f750 [*] Update consistency in 895ef058 2024-03-11 17:13:27 +00:00
ac1501c357 [+] AuOptional<AuString> AuFS::NewTempFile()
[+] AuOptional<AuString> AuFS::NewTempDirectory()
2024-03-10 15:00:13 +00:00
fceb937bfd [+] Aurora::IO::Async::SpawnMoreThreads
[+] Aurora::IO::Async::GetSpawnedThreads
2024-03-10 11:34:18 +00:00
951f9b73f3 [*] Off by one indexed extent 2024-03-10 09:45:03 +00:00
3c6d5a020b [*] Linux and Posix targets now respect gRuntimeConfig.debug.bIsExceptionThrowFatal 2024-03-10 00:09:12 +00:00
3c4cece69d [*] Fix deadlock on enter, when dispatching the command results in a grug handler being executed, followed by a deadlock during flush
[*] also wtf is this
2024-03-09 08:38:26 +00:00
9a846a6d2f [*] Update IAsyncFileStream::NewTransaction 2024-03-09 01:12:57 +00:00
a9fd9221b7 [+] AuFS::OpenAsyncFromSharedHandle 2024-03-09 00:56:59 +00:00
48aa0f01b1 [+] IFileStream::ToStreamSeekingReader
[+] IFileStream::ToStreamSeekingWriter
[*] Mitigation for Linshids god awful IO subsystems
2024-03-09 00:47:33 +00:00
66f3250983 [*] Improved IMemoryMappedFile API
[+] AuIO::Adapters::NewAsyncTransactionFromStreamSeekingPair
2024-03-09 00:20:26 +00:00
afbe942ffd [*] These config fields were switched to abs values, not relative to the user signal range 2024-03-08 21:59:50 +00:00
38bf52e852 [+] Aurora::IO::FS::IMemoryMappedFile
[+] Aurora::IO::Adapters::NewMemoryViewWriteSeekableAdapter
[*] ViewSeekableReadable -> ViewSeekableReader
[+] Aurora::IO::FS::OpenMap
[+] Aurora::IO::FS::OpenMapFromSharedHandle
2024-03-07 06:49:23 +00:00
6d4fc2c5f7 [*] Fix vis of this one posix symbol 2024-03-06 20:29:43 +00:00
7b302a7f35 [*] Improve AuProcesses CompletionGroup integration 2024-03-05 21:52:52 +00:00
0a6c11d919 [*] Moved some source code to AuProcAddresses.UNIX.cpp 2024-03-05 18:37:44 +00:00
2371794d47 [+] Linux Exception Handlers and AuExit::ETriggerLevel::eSigQuitNow
[*] Linux stability fixes
[+] AuProcAddresses.UNIX.[cpp/hpp]
2024-03-05 13:55:21 +00:00
8b29e73f96 [*] Switch over to mapped cpuset ids as opposed to the ((groupIndex + 1ull) * 0x100ull) + logicalProcessorIndex approximation 2024-03-04 13:07:49 +00:00
2163a58892 [*] Linux runtime regressions 2024-03-04 11:55:54 +00:00
2a5fad9d0c [+] Debug heap API: void Heap::WalkHeap(bool(*fCallback)(void *, void *), void *pSecondArg) 2024-03-04 04:51:41 +00:00
bf398be94e [*] Missing explicit AuConstReference 2024-03-03 22:09:19 +00:00
13b61f166c [*] Updated registered LTC digest indices 2024-03-03 03:26:01 +00:00
65c78ef182 [*] Move some platform specific code from AuWakeOnAddress to AuProcAddresses.*.* 2024-03-03 00:28:36 +00:00
9591fc9d30 [*] Harden detached spawn 2024-03-02 23:47:58 +00:00
3004c3de19 [+] Experimental AuThreading::TryWaitOnAddressUntilEqualEx, WaitOnAddressUntilEqual, WaitOnAddressUntilEqualSteady 2024-03-02 23:23:16 +00:00
b4f4e623d8 [*] Dumb 2024-03-01 16:55:19 +00:00
957338d0e3 [*] bug fixes 2024-02-28 14:47:00 +00:00
be9f47c4bb [*] dumb 2024-02-28 14:34:15 +00:00
097c0c1917 [+] IWorkItem::AddDelayTimeRepeating
[+] IWorkItem::AddDelayTimeNsRepeating
2024-02-27 12:24:17 +00:00
4ef055f81e [+] IWorkItem::SetSchedByLoopSourceRepeating
[+] ETickType::eRerunAndNotifyRepeatingWaiters
[+] ETickType::eScheduleAndNotifyRepeatingWaiters
[*] ETickType::eRerun async work items of ANY io fences
2024-02-27 12:08:22 +00:00
1f143ae981 [*] Harden 1920f5a8 against deadlocks under neverending pipe conditions 2024-02-27 10:55:38 +00:00
1920f5a8d5 [+] IO Thread Pool
[+] FileSeekingWriter
[+] ISeekingWriter
[+] AuIO::Adapters::NewAsyncTransactionFromStreamReader
[+] AuIO::Adapters::NewAsyncTransactionFromStreamSeekingReader
[+] AuIO::Adapters::NewAsyncTransactionFromStreamWriter
[+] AuIO::Adapters::NewAsyncTransactionFromStreamSeekingWriter
[+] AuIO::Async::UseSpecifiedWorkerGroup
[+] AuMemory::NewSharableResizableBuffer
[+] AuMemory::NewSharableBuffer
[*] Update comments
2024-02-26 18:12:04 +00:00
ddebc422ed [*] Updated comments in IProtocolStack.hpp 2024-02-25 20:19:10 +00:00
78e0c2d442 [*] Let IOHandle own the sharing state (auto-call SharingStop on dtor) instead of leaking IPC sharable on copy 2024-02-25 19:50:19 +00:00
e199172428 [+] AuRNG::SetSecureRNGBackendOverload
[+] AuRNG::GetSecureRNGBackendOverload
[+] AuRNG::GetSecureRNGBackend
2024-02-25 19:42:11 +00:00
493f449d1d [*] Major Linux build regressions 2024-02-23 12:44:43 +00:00
2da8332c0f [+] Added "Safer" variants to bcrypt when using string containers 2024-02-19 19:09:21 +00:00
0461b54045 [*] Improve PKCS1 OAEP support 2024-02-19 11:15:10 +00:00
600c7b68dc [*] Updated LibTomCrypt 2024-02-19 09:16:40 +00:00
3732352b4e [+] AuHashing::Whirlpool
[+] AuHashing::Blake2S_32
[+] AuHashing::Blake2S_28
[+] AuHashing::Blake2S_20
[+] AuHashing::Blake2S_16
[+] AuHashing::Blake2B_64
[+] AuHashing::Blake2B_48
[+] AuHashing::Blake2B_32
[+] AuHashing::Blake2B_20
[+] AuHashing::GetHashLength
[+] AuHashing::GetHashBits
[+] AuHashing::IHashStream::GetHashType
2024-02-18 17:53:37 +00:00
260e33fd91 [*] Not a day goes by without Roman Medvedev giving me grief
(Updated fmtlib after 3 years lol)
2024-02-16 13:07:28 +00:00
f049053776 [*] Refactor AuProcess paths to return AuOptional<const AuString &>
(because the previous iteration was using a pointer, dereference and operator bool() semantics still apply. no changes required, except for direct access of the string buffer, but no instances of the -> operator were found)
2024-02-14 04:05:32 +00:00
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