Commit Graph

1465 Commits

Author SHA1 Message Date
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
63050b2262 [+] IFileStream::IsFlushOnClose
[+] IFileStream::SetFlushOnClose
[+] IFileStream::IsWriteEoSOnClose
[+] IFileStream::SetWriteEoSOnClose
[+] IIOHandle::IsFlushOnClose
[+] IIOHandle::SetFlushOnClose
2024-01-02 00:00:47 +00:00
c16a0b1600 [+] IRandomDevice::NextArrayI32Range
[+] IRandomDevice::NextArrayU32Range
[+] IRandomDevice::NextArrayDoubleRange
[+] IRandomDevice::NextArrayI32
[+] IRandomDevice::NextArrayU32
[+] IRandomDevice::NextArrayDouble
[+] IRandomDevice::NextArrayDecimals
[+] IRandomDevice::NextArrayUUIDs
[*] IRandomDevice minor refactoring for consistency
[*] Improve decimals once again (perf/deterministic)
2024-01-01 14:49:35 +00:00
c64cb0c0e2 [+] AuHWInfo::ICoreLoadSampler
[+] AuHWInfo::CpuCoreTime
[+] AuHWInfo::GetPerCoreCPUTime
2023-12-31 23:14:27 +00:00
7b59cab36e [*] eepy 2023-12-31 22:39:31 +00:00
6037d14674 [-] hadnt fully removed the aggressive context switch thing from the old rwlock impl 2023-12-30 21:58:52 +00:00
63f5ad3fd5 [*] Harden remove/relink 2023-12-30 19:40:00 +00:00
ab68f07bb9 [*] pt1/2 bug: dir logger whining 2023-12-30 19:40:00 +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
063aa5c548 [+] IRandomDevice::NextUUID 2023-12-29 22:59:34 +00:00
b3557ed938 [*] Harden auprocesses / async outputof 2023-12-29 20:49:58 +00:00
7df1d1dd27 [*] Harden panics 2023-12-29 18:46:16 +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
f404e8960f [+] AuProcesses::RunAs 2023-12-28 21:00:07 +00:00
662dbac0c1 [+] IO completion groups 2023-12-28 16:49:11 +00:00
be2b781ed6 [*] mitigations and clean up before two major commits 2023-12-26 21:01:29 +00:00
d17903251b [*] another one (9393c175) 2023-12-25 11:56:38 +00:00
cdc6eeeabd [*] Two trivial bug fixes 2023-12-24 22:03:14 +00:00
ac33e6bb7f [*] you slimey rats dont get vtable exec that easily 2023-12-24 06:54:19 +00:00
c5656a8843 [+] WIP internal IO improvements (read: hacks) for Linux + bool IProcess::HasExited() 2023-12-24 06:24:39 +00:00
06f54968cd [+] Linux: missing io cancellations out of parity with Windows 2023-12-24 05:41:03 +00:00
a2c8f036e0 [*] 1576f56d cont (i messed up again) 2023-12-23 16:55:04 +00:00
71c88316e5 [*] Win32 args escape regression 2023-12-23 11:52:32 +00:00
a6ff21a167 [*] Update AuProcesses::OutputOfAsync 2023-12-23 11:22:10 +00:00
1576f56d19 [*] Fix busted nt timeouts under loopsource waits 2023-12-23 08:03:59 +00:00
cdfb35d5a8 [*] Fix crash when calling ::what() on an external vendors exception 2023-12-23 08:03:10 +00:00
0faf4c7846 [+] Aurora::Processes::OutputOf
[+] Aurora::Processes::OutputOfAsync
[*] Fix win32 regression
2023-12-23 07:05:44 +00:00
9393c17564 [*] Other POSIX systems (non-linux) are probably going to need this improved eSpawnChildProcessWorker awareness 2023-12-23 03:59:27 +00:00
2fd41d4142 [*] AuPaths finish up cleanup 2023-12-23 03:35:49 +00:00
9c86d1c899 [*] Linux clean up (?) (+typo) 2023-12-23 03:16:43 +00:00
bd6b70f215 [*] Win32 bug fix 2023-12-22 12:55:08 +00:00
24fec2301c [+] NtWaitForMultipleObjects awareness 2023-12-22 06:00:13 +00:00
e05bb8f5dc [+] StartupParameters::posixApplySandboxCOW 2023-12-22 03:57:46 +00:00
730465ca2b [+] UNIX: AuProcesses should always try to close leaked fds 2023-12-22 03:49:11 +00:00
2e06094e46 [*] Harden consoletty from exceptions 2023-12-22 00:34:30 +00:00
66eca9ff8f [*] Exceptionless-API hardening 2023-12-22 00:22:43 +00:00
298b095cc1 [*] WhyOnAddress 2023-12-21 22:41:16 +00:00
4febc0e6dc [*] AuSwInfo under linux fix 2023-12-21 15:31:19 +00:00
9fbed174fc [*] Realign AuProcAddresses.NT.cpp 2023-12-21 14:27:35 +00:00
5951724374 [*] Improve Linux AuSwInfo 2023-12-21 14:14:06 +00:00
de739b8e1f [+] AWS and centos detection 2023-12-21 13:21:21 +00:00
2570aea213 [+] Clang/Win32 compilation support 2023-12-19 03:43:11 +00:00
4dc2f94467 [*] Revert AuOptionalEx -> AuOptional change 2023-12-18 08:52:51 +00:00
414c736179 [+] ELoopSource expansion 2023-12-18 07:39:53 +00:00
22486b90e6 [*] NT: WaitMultipleLoopSourcesEx wasn't bypassing the wait cap 2023-12-18 07:35:24 +00:00
f40d59802a [*] Remove a syscall or two from startup / more accurate startup timings 2023-12-18 05:59:39 +00:00
207b8f6f46 [+] Copyable IOHandles 2023-12-18 05:41:27 +00:00
dc23f14192 [+] A recommendation for Windows 11 or greater users to upgrade to Windows 7 or 10 2023-12-18 04:54:21 +00:00
98f30cac51 [*] Improve ConsoleTTY perf 2023-12-18 01:57:44 +00:00
52f8556efe [*] Bug fix: leave scroll mode on exit, not enter scroll mode 2023-12-16 21:14:01 +00:00
9b99e6e7c7 [*] Harden IPC pipes 2023-12-16 21:08:46 +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
a5f4d959be [+] AuProcess::GetProcessStartupSteadyTimeNS() 2023-12-14 00:37:45 +00:00
1652231fd4 [*] Refactor AuProcess (paths) 2023-12-13 18:11:35 +00:00
98d79a5aa3 [+] RuntimeWaitForSecondaryTick() 2023-12-13 04:43:29 +00:00
e7d8e5b010 [+] NT: Let Grug handle io handle closures 2023-12-13 02:46:06 +00:00
a3046658fe [*] Minor update to WaitMultipleLoopSourcesEx 2023-12-11 23:34:31 +00:00
35fb78787d [*] Symmetry in WoA 2023-12-11 20:40:41 +00:00
073d77a17b [*] Harden IO processor item usage after parent processor release 2023-12-11 20:18:36 +00:00
9527a076cf [*] Update WoA 2023-12-11 18:58:17 +00:00
5541c25050 [+] AuIO::Loop::WaitMultipleLoopSourcesEx 2023-12-10 22:25:03 +00:00
0747ff230e [*] Thread primitives optimization
[*] Fix wake on address regression
2023-12-10 21:38:41 +00:00
1a71a7dd41 [+] WOA_SEMAPHORE_MODE 2023-12-10 19:25:31 +00:00
3f43c320c5 [*] WoA fixes 2023-12-10 19:11:10 +00:00
fc6902d231 [*] Refactor INetAdapter 2023-12-10 15:42:11 +00:00
76d3759295 [+] IProtocolPiece::GetPreviousPiece()
[+] IProtocolPiece::ReallocateSourceBuffer()
[*] IProtocolPiece::GetInputWriter()
[*] IProtocolPiece::GetNextWriter()
2023-12-10 14:06:10 +00:00
9ba725973f [+] Added a random id (u8) to log filenames 2023-12-09 19:56:00 +00:00
fe529b31da [*] ITimer comment and win32 patch 2023-12-09 12:25:46 +00:00
783bed0d85 [*] LSLocalEvent: finish optimized impl (?) 2023-12-09 11:10:02 +00:00
ab030ae969 [*] Scar seething 2023-12-08 20:40:24 +00:00
0ff345a558 [+] NT_APPLICATION_COMPAT_AURORA_RUNTIME_ALPHA
[+] NT_APPLICATION_COMPAT_AURORA_RUNTIME
2023-12-08 13:38:13 +00:00
8005b67d82 [*] :/ 2023-12-08 13:03:14 +00:00
ad5ff2d783 [*] Simplified Win32 TLS callback overhead to prevent unwanted LoadLibraryW calls
(ive seen windows components do stupid things to result in crashes. time to harden.)
2023-12-07 19:04:30 +00:00
ae70feb29b [*] Removed static IAT lookups to WS2_32.dll 2023-12-07 11:13:32 +00:00
8944d8bd16 [+] IAsyncTimer
[+] IAsyncTimerCallback
[+] ETickType.hpp
[+] EWorkPriority.hpp
[+] static IThreadPool::GetSelfIOProcessor()
[+] static IThreadPool::GetSelfIONetInterface()
[+] static IThreadPool::GetSelfIONetWorker()
[-] [Source/Async/]AsyncRunnable.hpp
[*] Begin encapsulating WorkerPId_t
[*] WorkerPId_t no longer take strong pointers to prevent leaks given that these identifiers are copied and kept alive everywhere
2023-12-07 09:20:23 +00:00
367118ab0c [*] (NT Condvar) Minor performance fix
[*] (NT Condvar) Suspected XP-Win7 deadlock
2023-12-06 19:15:06 +00:00
e853b44ee6 [*] Fix bugs in the partially rewritten async scheduler 2023-12-06 17:48:20 +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
b35b290afd [+] File System devices API
[+] AuFS::EFSDeviceType
[+] AuFS::EFSBusType
[+] AuFS::LogicalUsedResponse
[+] AuFS::LogicalOffsetResponse
[+] AuFS::FSLogicalPartition
[+] AuFS::FSDevice
[+] AuFS::GetRootFromPath
[+] AuFS::GetDeviceFromPath
[+] AuFS::GetDeviceFromRoot
[+] AuFS::GetLogicalMountFromPath
[+] AuFS::TrySimplifyDevicePath
[+] AuFS::GetPerformanceBufferSizeFromPath
[+] AuFS::GetPhysicalSectorSizeFromPath
[+] AuFS::GetLogicalSectorSizeFromPath
[+] AuFS::GetLogicalUsedFromPath
[+] AuFS::GetLogicalUsedFromLogicalDevice
[+] AuFS::GetDeviceSizeInBytes
[+] AuFS::GetDeviceModel
[+] AuFS::GetFSDeviceByFilePath
[+] AuFS::GetFSDeviceByDevice
[+] AuFS::GetFSDevices
[+] AuFS::GetFSDevicesCachedUnsafe
[+] AuFS::ResetDeviceCache
[+] FSPlatformDevices.cpp
[+] FSPlatformDevices.NT.cpp
(holding back Linux)
2023-12-05 18:44:38 +00:00
f79be42357 [*] Clean up dead-code in AuWakeOnAddress.cpp 2023-12-05 07:56:57 +00:00
91cff7ae26 [*] Another WakeOnAddress optimization 2023-12-05 07:15:54 +00:00
e9651eead3 [*] Linux build regressons 2023-12-04 21:13:25 +00:00
e60e308087 [*] Minor WaitMultipleLoopSources optimization 2023-12-03 07:40:20 +00:00
baf31e32d0 [+] IFileStream::ToStreamReader()
[+] IFileStreamToStreamWriter()
[+] IProcess::ToStreamReader(EStandardHandle stream)
[+] IProcess::ToStreamWriter()
2023-12-02 18:05:49 +00:00
9fea60a9ed [*] 64ce35dd cont 2023-12-02 11:06:49 +00:00
64ce35dd87 [*] Cont work on WaitMultipleLoopSources's yield time 2023-12-02 03:39:41 +00:00
b9e8b138f7 [*] Further optimize AuWakeOnAddress (signaling) 2023-12-02 03:35:24 +00:00
aadca8058e [*] Net: Globalize adapter cache 2023-12-01 15:02:27 +00:00
e0f74d6160 [+] ISocketServer::GetServerRecvStats()
[+] ISocketServer::GetServerSendStats()
2023-12-01 14:49:30 +00:00
81871ed0b8 [+] INetAdapter::GetTransmitBytesPerSec()
[+] INetAdapter::GetReceiveBytesPerSec()
2023-12-01 13:26:44 +00:00
eceb037e70 [*] WaitMultipleLoopSources optimizations cont 2023-12-01 12:31:09 +00:00
3f7f2639c4 [*] AuLoop: Fixed missing logic in a fast path 2023-12-01 12:16:47 +00:00
cbcd55ce8e [+] AuNet::ENetworkAdapterType
[+] AuNet::ENetworkAdapterStatus
[+] INetAdapter::ToNetworkType()
[+] INetAdapter::ToStatus()
2023-12-01 12:13:47 +00:00
507f418b81 [*] Attempt to optimize AuLoop::WaitMultipleLoopSources 2023-12-01 11:20:40 +00:00
b0a7417d6f [*] Local loopsources werent calling the parents OnTrigger 2023-12-01 11:02:15 +00:00
f05cafbff7 [*] Win32 loopqueue optimization 2023-12-01 10:36:47 +00:00
a189151c59 [+] AuAsync::IThreadPool::GetIOProcessor
[+] AuAsync::IThreadPool::GetIONetInterface
[+] AuAsync::IThreadPool::GetIONetWorker
[+] AuAsync::IWorkItem::SetSchedByLoopSource
2023-12-01 09:22:51 +00:00
cde646ae86 [*] More formatting regressions 2023-12-01 08:03:31 +00:00
049de14090 [*] Ooops: acd8f6cf 2023-12-01 07:04:04 +00:00
c32022a8e4 [*] eb1ec8b7 (W32oW64 awareness) cont: WinXP regression 2023-12-01 06:20:39 +00:00
acd8f6cf0b [*] Win32: fast move directory 2023-12-01 06:14:03 +00:00
9ba049d485 [*] Refactor "Jiffies" to "Frequency" 2023-12-01 04:49:18 +00:00
0c1c6d7c24 [*] Formatting regressions (+ 1x double-based RNG regression) 2023-12-01 03:43:06 +00:00
cab8627ffd [*] (AuRandom) Resolve bad floating point distribution 2023-12-01 03:12:04 +00:00
eb1ec8b763 [*] W32oW64 awareness 2023-12-01 02:21:58 +00:00
274a0e1783 [*] Remove deprecated #if 0s from AuWakeOnAdress.cpp 2023-12-01 01:45:02 +00:00
0283186046 [*] Expand WakeOnAddress array and minor lookup optimization 2023-12-01 01:35:10 +00:00
43583a1748 [+] IRWLock::CheckSelfThreadIsWriter 2023-12-01 01:15:35 +00:00
5ec28735ed [*] Improved AuProtocolStack API 2023-11-30 09:40:02 +00:00
5c40821d6f [*] Link error: missing RS4 symbol 2023-11-30 09:35:44 +00:00
52b49986f3 [+] ISocketServer::GetSessionCount 2023-11-30 02:40:30 +00:00
74b1e560bb [*] I needed 'eeep (amend previous two commits) 2023-11-29 23:38:03 +00:00
42beaeabf5 [*] AuFS::MoveDirectory -> Try remove dirs afterwards (should only succeed if empty. failure is ignored and reported to CopyDirResult) 2023-11-29 14:04:57 +00:00
dcf94a8b23 [+] (dummy!) ISocketServerLimits.hpp
[+] (dummy!) ISocketChannelLimits.hpp
[+] ISocketChannel::GetChannelLimits
[+] ISocketBase::GetLockedWorkerThread
[+] ISocket::GetSocketServer
2023-11-29 13:55:01 +00:00
216aa01717 [-] Yeetus 2023-11-29 08:50:14 +00:00
b4410fde52 [+] bool IsWindows10MilestoneTH1OrGreater()
[+] bool IsWindows10MilestoneTH1()
[+] bool IsWindows10MilestoneTH2OrGreater()
[+] bool IsWindows10MilestoneTH2()
[+] bool IsWindows10MilestoneRS1OrGreater()
[+] bool IsWindows10MilestoneRS1()
[+] bool IsWindows10MilestoneRS2OrGreater()
[+] bool IsWindows10MilestoneRS2()
[+] bool IsWindows10MilestoneRS3OrGreater()
[+] bool IsWindows10MilestoneRS3()
[+] bool IsWindows10MilestoneRS4OrGreater()
[+] bool IsWindows10MilestoneRS4()
[+] bool IsWindows10MilestoneRS5OrGreater()
[+] bool IsWindows10MilestoneRS5()
[+] bool IsWindows10Milestone19H1OrGreater()
[+] bool IsWindows10Milestone19H1()
[+] bool IsWindows10Milestone19H2OrGreater()
[+] bool IsWindows10Milestone19H2()
[+] bool IsWindows10Milestone20H1OrGreater()
[+] bool IsWindows10Milestone20H1()
[+] bool IsWindows10Milestone20H2OrGreater()
[+] bool IsWindows10Milestone20H2()
[+] bool IsWindows10Milestone21H1OrGreater()
[+] bool IsWindows10Milestone21H1()
[+] bool IsWindows10Milestone21H2OrGreater()
[+] bool IsWindows10Milestone21H2()
[+] bool IsWindows10Milestone22H2OrGreater()
[+] bool IsWindows10Milestone22H2()
2023-11-29 08:22:22 +00:00
de6b9d0bcb [*] (todo port) Dont forget these should be upcasted to doubles 2023-11-29 07:12:25 +00:00
22f2e73954 [+] ConditionEx::WaitForSignalAbsNS 2023-11-29 06:08:09 +00:00
f06248f687 [*] Minor WakeOnAddress optimization 2023-11-29 05:37:51 +00:00
ed823a9819 [+] AuHwInfo::GetThreadCPUUtilization(AuOptional<bool> optIncludeKernel) 2023-11-29 04:14:14 +00:00
2d58f8fdef [-] Remove #if 0s from AuRandomDevice (finished working on the rng upgrades) 2023-11-18 11:19:57 +00:00
37adbad397 [*] IM NOT MAD. YOURE MAD (b88c61c1 cont) 2023-11-18 01:45:12 +00:00
63b72a9fb5 [*] Resolve WakeOnAddress emu-mode bug and a potential dead-lock 2023-11-17 23:11:58 +00:00