Commit Graph

952 Commits

Author SHA1 Message Date
9a172d9fca [+] AuProcesses::RevealInDirectory(...)
[*] Fix dshit shell portal process spawning
2024-11-17 15:48:24 +00:00
5a0bd702c5 [*] Refactor CpuLoadSampler -> ProcessLoadSampler to disambiguate the object from CoreLoadSamplerImpl
[*] Update readme and comments
2024-11-16 15:23:41 +00:00
54f7ee0b64 [+] Aurora::Threading::EWaitMethod::eAnd
[+] Aurora::Threading::EWaitMethod::eNotAnd

(amended: replace eAndNotMask with eNotAnd)
2024-11-14 21:13:13 +00:00
35c71481f7 [+] IAuroraThread::GetThreadTLSIdentity() [cherry-picked from debug update - delayed]
[+] TLSVariable::OfThread(u32) [cherry-picked from debug update - delayed]
2024-11-12 09:18:43 +00:00
c6c62ffca7 [*] Clean up RuntimeConfig.hpp
[*] Fix consoles blocking;
[*] Fix an AuSharedFromThis() in AuCertChain that should've been removed
2024-11-08 04:28:58 +00:00
a2322470b8 [*] Win32 Shell Opener: do the main operation outside of the lock
[*] Linux IO / AuAsync: always use AU_CO_ROUTINE_SUS_NEVER or bool(false). Fixed dropped IO callbacks.
[*] Linux: Added POLLHUP to the blocking read poll. We shouldn't need this. Sockets and pipes set their read side on relevant events. For instance, async connect results in a writable signal, dropped sockets will become signaled under a select, etc. IPC works. Net works. Just gonna add this to the read trigger just in case.
2024-10-16 14:45:07 +01:00
7a0593adeb [+] AuCrypto::CA::ICertificateStore
[+] AuCrypto::CA::INewCertificateStore
[+] AuCrypto::CA::IPinCertificate
[+] AuCrypto::CA::PinAlwaysFail
[+] AuCrypto::CA::PinAlwaysPass
[+] AuCrypto::CA::PinCheckOS
[+] AuCrypto::CA::PinCheckDefault
[+] AuCrypto::CA::PinCheckBuiltin
[+] AuCrypto::CA::PinCheckGlobal
[+] AuCrypto::CA::PinCheckTwoAnd
[+] AuCrypto::CA::PinCheckTwoOr
[+] AuCrypto::CA::SetGlobalTLSPinner
[*] Minor AuCrypto::X509 decoder work
[*] AuCrypto::X509: transition to memory views (x509 is bytebuffer era and earlier code, beri early)
[+] AuCrypto::IPrivateKeyProvider
[+] AuCrypto::IPrivateKeyPair
[+] AuCrypto::PrivateKeyPair
[+] AuCrypto::ImportPrivateKeyPair
[*] Refactor: AuCrypto::X509::GenerateCertificate(...)
[+] AuCrypto::X509::NewChainFromOneDer
[+] AuCrypto::X509::NewChainFromManyDer
[+] AuCrypto::X509::NewChainFromManyDerInStream
[+] AuCrypto::X509::NewChainFromOnePem
[+] AuCrypto::X509::NewChainFromManyPem
[+] AuCrypto::X509::NewChainFromManyPemInStream
[*] Fix TLS code that was abandoned since its introduction with the net code. mbedtls is a hairbrained mess. so many *blocking* github issues starting after 2017. so little progress.
[+] AuIO::TLS::TLSMeta::pKeyPairProvider
[+] AuIO::TLS::TLSServer::bAllowSNIToFallBackDefault
[+] AuIO::TLS::TLSServer::bAllowSNILessUseDefaultCert
2024-10-16 02:07:24 +01:00
b5c4271807 [*] Some WTF
[*] Use waitpid instead of wait3 (BSD, now deprecated by POSIX)
[*] Win32 / x86_32: I guess the file map maximum size should be the same as 64bit since it lets us? we need this span constraint to be the entire file or less.
[*] Improved AuProcess UNIX signal safety
[*] Comments
[+] Secret API: RuntimeCollectMemory
2024-10-12 16:30:12 +01:00
02826d2365 [+] AuLoop::kWaitMultipleFlagNoIOCallbacks
[+] AuLoop::kWaitMultipleFlagBreakAfterAPC
[+] Alternative Wait AND implementations for NT, POSIX, and generic
[+] IOConfig::...
[*] LoopQueue improvements
[+] ILoopQueue::ConfigureDoIOApcCallbacks
[+] ILoopQueue::ConfigureDoIOApcCallbacks
2024-10-10 11:03:26 +01:00
82ed6e5617 [*] AuAsync build regression
[*] Fix potential for null deref under net adapters api
[*] Improved generic IO WaitFor * AND * (still suxs)
2024-10-09 01:59:50 +01:00
978693559e [*] QOL / Hardening / Optimizations / Bug fixes
(but not really. this is just some patchwork)
2024-10-02 00:47:44 +01:00
6e9e962c84 [*] AuLoop::WaitMultipleLoopSources optimizations (do not allocate so much, if we can), and
[*] Updated Loop.hpp comment
2024-09-28 23:14:48 +01:00
ff6409859f [*] Fix C++17 build regressions 2024-09-27 22:50:04 +01:00
f059141505 [*] AuCmdLine::GetValue(...) (both variants) refactored to use views to help with future stability issues around AuStrings (and their allocator?) 2024-09-27 22:46:50 +01:00
7046ccec11 [*] Refactor some APIs to use string views instead of strings
[+] Added new shell dirs API
[+] AuOptional<AuROString> GetUserDocuments()
[+] AuOptional<AuROString> GetUserDownloads()
[+] AuOptional<AuROString> GetUserDesktop()
[+] AuOptional<AuROString> GetUserPhotos()
[+] AuOptional<AuROString> GetUserVideos()
[+] AuOptional<AuROString> GetUserMusic()
[*] Amend IPCHandle::InitFromSharing (use string view)
[*] AuFS devices API should now use string views
[*] AuProcess, Process APIs now use string views (ModuleLoadRequest, LoadModule, GetProcAddressEx, etc)
[*] AuProcess, Paths APIs now use string views (GetProcessDirectory, GetProcessFullPath, etc)
[*] Fix XP using common my documents vs local user documents
2024-09-24 18:59:54 +01:00
436d50a01f [+] AuIO::IOPipeRequest::bReadEntireAllocation
[*] Fix 24. Hello IO regression
2024-09-17 18:23:49 +01:00
9acc56431a [-] AuMemoryView
[-] AuMemory::Heap
[*] Use AuSetAllocator
[-] AuMemory::PmrCppHeapWrapper
2024-09-13 08:48:33 +01:00
ffb1cbb09b [*] PmrCppHeapWrapper fixes 2024-09-10 04:46:13 +01:00
634eb35959 [+] IOConfig::bAPCUseCoroutineStack 2024-09-09 08:16:19 +01:00
89686eb022 [*] Use PMR allocators instead 2024-09-09 06:52:38 +01:00
0571aa8dd4 [+] AU_LOCK_GLOBAL_GUARD
[+] AuThreading::GetShutdownReadLock()
2024-09-09 03:46:38 +01:00
35761edaec [+] AuIO::Loop::NewLSTimerHighResolution
[*] ILSTimer::UpdateTime -> ILSTimer::UpdateTimeWall
[*] ILSTimer::UpdateTimeNs -> ILSTimer::UpdateTimeWallNs
[+] ILSTimer::UpdateTimeSteady
[+] ILSTimer::UpdateTimeSteadyNs
2024-09-08 07:26:23 +01:00
4d4f5e2501 [+] ILoopSource::IsSignaledExt(...)
[+] ILoopSource::WaitOnExt(...)
[+] ILoopSource::WaitOnAbsExt(...)
2024-09-07 22:45:34 +01:00
77546b5098 [+] IRandomDevice::XXX has VecD variants
[*] Improve: IRandomDevice internal allocations when handling vector arrays
[*] Fix: NextArrayI64RangeInView
2024-09-05 22:50:02 +01:00
3472665c9f [+] AuOutputOfs OutputOfResult should have a lock for multithread consumption 2024-09-05 18:20:12 +01:00
aafb64e740 [+] AuMemoryView::CopyInto
[+] AuMemoryView::CopyFrom
[+] AuMemoryViewStream::CopyStreamInto
[+] AuMemoryViewStream::CopyStreamFrom
2024-08-27 20:33:00 +01:00
d99c1032da [*] Regression: AuROXTL string view has a different interpretation of what remove prefix/suffix should be. Fix SplitNewlines
[*] Harden SplitString & SplitStringDelm, do not splice UTF8 sequences
2024-08-22 19:15:51 +01:00
2c3c7b04e5 [*] Amend Loop.hpp comments 2024-08-11 22:22:43 +01:00
23a80b8039 [*] Refactor ConditionEx -> IFlexibleConditionVariable 2024-08-08 20:21:03 +01:00
adfca81335 [*] Fuck you 2024-08-08 20:17:52 +01:00
da7fd881a6 [*] Update behaviour of CppHeapWrapper to make it moron proof 2024-08-07 21:39:42 +01:00
9a855f36d0 [*] You fucking donut 2024-08-07 01:42:42 +01:00
57c5515173 [*] Linux: Harden recursive IO scheduling 2024-08-05 19:44:54 +01:00
55cac676f5 [+] AuLoop::NewSemaphoreEx with max count option for in-process (not ipc) limiting the total wakes.
This is required for Xbox, Xbox 360, and Win32 emulators deriving a mutex via a the NT semaphore primitive instead of the builtin binary semaphore (event) and mutex.
2024-08-05 15:57:13 +01:00
9956f1c153 [+] AuIO::Loop::kWaitMultipleFlagBreakAfterOne for Win32 WaitForMultipleObjects shim (we cannot return an array of indices to a win32 program) 2024-07-30 17:26:38 +01:00
ecf8dc6f0b [+] AuRNG::IRandomDevice::...InView
[+] AuRNG::...InView

(amended mixed tabs)
2024-07-21 06:15:02 +01:00
8be1afe570 [+] AuMemory::Heap adapters for third party heap allocators
[+] AuMemory::HeapAdapterInterface to describe aforementioned heap allocators of a very limited API
[+] AuMemory::HeapAdapter[Unique,Shared,]
[+] HeapWin32Adapter to convert HANDLE hHeaps of win32s CreateHeap (RtlCreateHeap?) into AuMemory::Heaps
2024-07-19 09:06:56 +01:00
a995c37e81 [*] Fixup half-assed/rushed alloc class with alignment in the .hpp to .inl breakout commit (ced9e0be)
(sure, it cannot work to realign structs with c++ operator[] overloading; however, we need this to prevent excessive allocations when cloning a U8 memory view of alignment)
2024-07-19 09:01:20 +01:00
2628784ff6 [*] Refactor heap stats 2024-07-19 08:25:30 +01:00
1fb355520e [*] Made AuMemoryViewRead/Writes to bytebuffer less ambiguous 2024-07-19 08:24:51 +01:00
2d2523e679 [*] Another build regression 2024-07-16 23:58:44 +01:00
8df3f6970b [+] Heap::Clone(Heap *[, ...]) 2024-07-15 00:16:13 +01:00
ced9e0be17 [*] Optimize global process heap aliases
[*] Split AuMemory::Heap impl into .inl file
2024-07-15 00:15:35 +01:00
3749702e34 [*] SharableByteBuffer constructors must be inline 2024-07-13 18:51:07 +01:00
e665720f24 [*] Update AuMemory::SharableByteBuffer to be useful with the transition to AuSPtr<AuMemoryViewXXX>'less APIs 2024-07-13 17:08:45 +01:00
3d652ed605 [*] af5c8e86c0 20hrs ago: AuSPtr<AuMemoryViewXXX>s werent fully eliminated 2024-07-13 16:34:44 +01:00
124e9d1d0a [*] Fix main process heap fragmentation caused by shared pointer blocks, always allocate from within the heap object 2024-07-13 03:07:02 +01:00
af5c8e86c0 [*] AuSPtr<AuMemoryViewXXXX> is now an anti-pattern. After 3 fucking years, memory views of shared control blocks and atomic in use counters are properly utilized everywhere. We do not need generic superclasses to be safe anymore 2024-07-12 20:22:48 +01:00
d803f1547c [+] Added AuAsync per thread io group singleton
[*] Move static functions out of the thread pool interface. no idea how i had successful builds before
2024-07-12 17:22:07 +01:00
daf4552eb2 [*] Update AuByteBuffer::Pad to include bUpdateWriteHead argument. broke previous behavior bc this is more convenient and old users were already doing this after the fact 2024-07-09 03:11:10 +01:00