Commit Graph

1614 Commits

Author SHA1 Message Date
795fb3d2d1 [+] NT 3.5 through Windows 7 specific clock backends 2023-10-07 16:57:20 +01:00
a7a45aaf4b [*] Using bcrypt continues to be a dumpsterfire mistake 2023-10-07 16:56:33 +01:00
478cb2b185 [*] Improve RNG fallback performance (early process init canaries) by properly accounting for < 10 Mhz clocks 2023-10-07 14:50:32 +01:00
605862094e [*] Fix some old known Win32 loop queue issues under bullshit real world conditions
(recursion, any retries, etc)
2023-10-03 22:02:48 +01:00
9686457891 [*] caught async crash on shutdown 2023-10-02 21:33:15 +01:00
a60e740328 [*] caught async deinit deadlock
featues conflicting with idec what. this mess needs rewriting
2023-10-01 17:10:48 +01:00
cdad552ed0 [*] Fix OSThread regression / main thread was stalling for a few seconds on exit because the schedulers end of thread clean up was bailing out under the "pls no dtor race before the os spawn kicks in" lock path
TODO: destink OSThread
2023-10-01 14:12:22 +01:00
654bf8eff0 [*] annoying console tty insertion quirk/bug 2023-09-28 20:38:36 +01:00
636a7ef625 [*] Fix project build regressions caused by refactoring in 522def0a 2023-09-28 20:08:59 +01:00
522def0a85 [*] I'm going to be autistic and say "everybody" is (read: industry midwits are) wrong about dates
(amend comments)
2023-09-28 18:29:28 +01:00
ea241d86f3 [*] Resolve ambiguous namespace regression (new conflict between Aurora::IO::Utility and Aurora::Utility) 2023-09-28 15:42:09 +01:00
635f9e39e9 [*] Modernize IOBufferedProcessor (and moved to the io utility namespace)
[+] AuIO::Utility::NewBufferedProcessorEx
[+] AuByteBuffer::calcDifferenceBetweenHeadsUnsigned
[+] AuByteBuffer::calcDifferenceBetweenHeadsSigned
2023-09-28 12:38:01 +01:00
c5ab03cbfc [-] OS specific types derived from AFileHandle 2023-09-28 11:53:42 +01:00
5555e99488 [*] Move NewByteBufferPair, NewByteBufferPairEx, and NewRingByteBuffer to AuIO::Utility 2023-09-28 11:51:46 +01:00
374df4a92b [*] 3c8442d8 regressed DNS based connect
[*] improved an error message
2023-09-23 20:36:28 +01:00
53215e57b1 [*] Harden thread entrypoints and post-call deinit 2023-09-23 20:32:01 +01:00
3c8442d8ce [+] Added NetSocketConnectBase
[*] ded60591 cont
2023-09-23 19:33:08 +01:00
ded605910f [*] Refactor AuNet::NetSocketConnect 2023-09-23 17:10:00 +01:00
7e9bfd8215 [*] Move/refactor AuIO adapters to Aurora::IO::Adapters 2023-09-23 16:40:13 +01:00
345cf608b3 [*] Linux connect by hostname regression/first pass? 2023-09-23 09:25:18 +01:00
c05fabc633 [*] Linux fixes 2023-09-23 08:15:50 +01:00
828430889c [+] IIOHandle::SectionLock
[+] IIOHandle::SectionUnlock
[*] FileSteam.NT.cpp clean up
2023-09-23 04:48:48 +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
0a1db024e8 [+] QueryClockTimeNS
[+] QueryClockTimeFrequency
2023-09-23 02:28:06 +01:00
dfecf10f1d [*] All CivilTime APIs should just use ETimezoneShift 2023-09-22 06:21:50 +01:00
f6437ef66e [-] Engine 0.0/1.0 async 2023-09-22 06:07:03 +01:00
994fcb5010 [*/+] Added/Moved code to AuProtocolStackSpecialWriter[.cpp]
[+] Further mutex guarantees under protocol stacks (hardening)
2023-09-21 21:18:59 +01:00
7da39d2022 [+] Aurora::IO::Protocol::NewProtocolStackFromDescription
[+] Aurora::IO::Protocol::UtilityWrapStreamReaderWithInterceptors
[+] Aurora::IO::Protocol::EProtocolStackCreateType
[+] Aurora::IO::Protocol::ProtocolStackByBufferedAdhoc
[+] Aurora::IO::Protocol::ProtocolStackByBuffered
[+] Aurora::IO::Protocol::ProtocolStackByPipe
[+] Aurora::IO::Protocol::ProtocolStackDescription
2023-09-21 08:02:02 +01:00
f310fa9aae [+] AuTime::GetClockUserAndKernelTimeNS 2023-09-20 22:51:59 +01:00
7bc533b710 [*] More POSIX bugs 2023-09-20 21:13:43 +01:00
4fa053ce97 [*] Harden POSIX FS Remove 2023-09-20 20:17:42 +01:00
259572724c [+] Fetch non-desktop class NT hostnames 2023-09-20 18:33:27 +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
baadcbb13d [*] ? 2023-09-19 16:39:35 +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
125c150fc5 [*] Made AuOpen.Unix.cpp in parity with Windows in that all IO should be deferred off the calling thread 2023-09-19 00:40:00 +01:00
746f39f848 [*] yeet 2023-09-19 00:17:28 +01:00
2a0ff9ab0c [+] AuCivilTime.cpp
[*] Split AuClock.cpp
2023-09-18 22:53:28 +01:00
e60c891eac [-] last trace of the high res clock 2023-09-18 22:34:34 +01:00
5ef6e0cd23 [*] Fix IO Processor regression, circa WorkerPId_t behaviour change.
[*] Fix minor Linux SOCK_CLOEXEC issue
2023-09-18 19:04:09 +01:00
7357764cfc [*] Fix abnormal ::UnlockWrite performance under heavyweight native WaitOnAddress platforms (Linux, BSD-like, etc) 2023-09-18 18:21:46 +01:00
5d12f1a203 [*] Resolve IO regressions (4. Hello FS) (Mostly UNIX) 2023-09-18 07:11:34 +01:00
11ef18cbf0 [*] moar regressions :( 2023-09-18 06:09:29 +01:00
09b044ab2e [*] amend 9be76adb23 2023-09-17 22:21:24 +01:00
d387657e04 [*] Dynamic linking on non-desktop, NT platforms 2023-09-17 22:15:15 +01:00
9be76adb23 [*] Further drop required symbols from OLE (COM) and SHELL32 (NT Shell)
[*] Optimize NT file and URI opener
2023-09-17 21:33:14 +01:00
a96788623f [*] Fix linux build warning and not quite complete linux ipc fix a4f6db7ec9 2023-09-17 18:36:20 +01:00
84c0e94282 [*] 523abaf0 cont: not so sure on the UNIX-like variant either 2023-09-17 14:03:03 +01:00
523abaf0bb [*] security: bIsIntranetTrusted not properly respected 2023-09-17 13:57:58 +01:00
0de153dfe3 [*] Aggressively harden win32 loops against out of memory events 2023-09-17 04:08:01 +01:00
ab6f00f094 [*] NT build regression 2023-09-17 00:35:23 +01:00
a4f6db7ec9 [*] Linux IPC reliability: finally got around to closing #48 2023-09-16 23:30:10 +01:00
f2339bb0a9 [+] AuIO::Loop::NewLSIOHandle(const AuSPtr<IIOHandle> &pHandle)
[-] Rip 2021-10-1 LSCondVar
2023-09-16 22:59:26 +01:00
f13efd0cbf [+] AuProcesses::IProcess::GetOutputAndInputHandles()
[+] AuProcesses::IProcess::GetErrorStreamHandle()
2023-09-16 22:08:10 +01:00
644c294c36 [+] Unix AuProcesses: missing optAffinity support 2023-09-16 21:49:30 +01:00
841fa39321 [*] CmdLine has been deserving of the Au prefix for quite some time 2023-09-16 21:33:38 +01:00
6c5e99ba8f [-] ...an api that shouldn't exist anymore 2023-09-16 21:12:50 +01:00
7010155916 [*] Improved schedular regressed intraprocess command dispatch of main thread cmds 2023-09-16 18:08:27 +01:00
9a294cf955 [*] (Mostly Linux) Harden FS apis 2023-09-16 01:20:28 +01:00
9bfd895fc4 [*] Linux: replace the initial map scanners aggressive filtering to not dismiss potential hits. Also parses file offsets for these section maps. 2023-09-15 23:50:00 +01:00
e3a493bf9c [+] const AuList<AuString> &AuCmdLine::GetValues(const AuString &key) 2023-09-15 20:12:01 +01:00
ac86fd481b [*] caught runtime regressions 2023-09-15 18:21:47 +01:00
d0fb19f87e [*] Global build regressions caused by addd4080 2023-09-15 18:09:34 +01:00
d49d4ad4fc [*] addd4080 cont 2023-09-15 16:54:21 +01:00
addd4080b2 [*] Adjust PId_t::pool null behaviour 2023-09-15 16:48:55 +01:00
3ba93439c8 [*] NT Processes: GetProcessId() now returns a pointer to a _PROCESS_INFORMATION struct 2023-09-15 16:25:40 +01:00
67b047eead [*] UNIX Processes: fix overmap regression in (d166a00d) and added support for envblock updates missing in (d166a00d) 2023-09-15 16:03:41 +01:00
a80524d573 [-] AuProcesses::EStandardHandle 2023-09-15 15:55:46 +01:00
d166a00d81 [*] Linux: begin catching up AuProcesses to NT 2023-09-15 00:11:14 +01:00
81775a76bf [*] Linux: build regressions 2023-09-15 00:10:40 +01:00
0f88b16395 [*] d0538ea4 cont support for CreateFile2W if required 2023-09-14 03:02:42 +01:00
db8db7b0cc [+] Secret visible symbol: Aurora::Win32Open/AuWin32Open 2023-09-13 15:35:09 +01:00
599d77e341 [*] default args for Win32Open bc lazy 2023-09-13 15:09:53 +01:00
c79b0b5921 [*] missing W suffix 2023-09-13 14:17:45 +01:00
fe8ef28930 [*] tism 2023-09-13 04:04:45 +01:00
f177b67e1f [*] GetLastError() == ERROR_FILE_EXISTS fast path 2023-09-13 03:48:10 +01:00
18ac961ac9 [*] (dwFlags & 0x4ffff7) && (!pCreateFile2) check
[*] (dwAttributes & 0xFFB00008) && (!pCreateFile2)
2023-09-13 03:38:59 +01:00
b4d5f4c127 [+] AuIO::IO::EStandardStream
[+] AuIO::IOHandle::InitFromStreamEnum(...)
2023-09-13 02:50:59 +01:00
d0538ea4de [*] NT/Win32-like: Use Win32Open as opposed to CreateFileW 2023-09-13 02:27:18 +01:00
a8696c0b7e [*] ...no 2023-09-13 00:02:26 +01:00
729c9f8508 [*] Ensure WaitFor always respects 0 timeouts, no matter the flags 2023-09-12 22:06:55 +01:00
6ff27c6855 [*] This was bothering me - 4b0a7c65 cont 2023-09-12 21:56:58 +01:00
6181d97c3c [*] Improve internal path consistency
[*] Removes some unnecessary panics
2023-09-12 20:49:02 +01:00
bf03124f92 [+] AuThreading::TryWait 2023-09-12 18:47:25 +01:00
8e54071d60 [-] Remove 2 year old 0.0 WaitFor back-off implementation 2023-09-12 18:30:45 +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
00260294b2 [*] Guess this got twisted, or maybe my intention was to zero out if we cant get accurate topology from apic bits; i don't recall 2023-09-12 14:11:09 +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
ffd61d4d54 [*] NT: AuProcess this is better 2023-09-12 02:01:12 +01:00
b46390f83a [*] Remove explicit Windows version check assuming certain file systems and platforms can be stupid 2023-09-12 01:35:54 +01:00
6062a16d9c [*] Prevent overflow into UNC root namespace of hostnames and volumes via path or filename overflow 2023-09-12 00:52:16 +01:00
92593be412 [*] FS path mitigation: begin to handle >= MAX_PATHs by enforcing UNC \\?\ prefixes across every single Win32/NT api we hit (if relevant. im sure some long paths may still break things.) 2023-09-10 23:49:47 +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
4915c5e6bf [*] dont like me stds' - big baz 2023-09-10 17:58:36 +01:00
5107911ba5 [*] Exploit mitigation - file protocols can be valid paths 2023-09-10 16:30:59 +01:00
445085d069 [*] old win32 - fix c6c35a58: missing ms to ns conversion 2023-09-10 15:51:26 +01:00
b539cfb353 [*] 74dc6772 cont: improvements 2023-09-10 15:04:32 +01:00
c6c35a588c [*] Switch to astatic Aurora::Utility::RateLimiter limiter` for gRuntimeConfig.threadingConfig.bWinXpThrough7BlazeOptimizerPower 2023-09-10 14:53:54 +01:00
74dc6772b0 [+] Non-mutually exclusive binary semaphore / event wait path
[+] ThreadingConfig::gPreferFutexEvent
2023-09-10 14:50:59 +01:00
48dc2e790b [+] IEvent::TrySet()
[+] New atomic logic for AuEvent. With this change, I can stop slandering it as the "shit primitive."
(it's still not the best it could be, but it's an improvement over what i had before)
2023-09-10 14:04:00 +01:00
12a2f30f47 [*] 9ab0c25b but for UNIX 2023-09-09 23:57:01 +01:00
9ab0c25b05 [*] Win32 opener: ensure file/dir exists (subject to time of check attack, but its fine to prevent stupid 'open' shellexec exploits. wont save you if io write is available) 2023-09-09 23:15:45 +01:00
1a4a4ad863 [*] Added missing this->s 2023-09-09 19:46:08 +01:00
dfe44317a0 [*] SMT Yield: minor branch added to SMT Yield 2023-09-09 18:09:22 +01:00
88355932c1 [*] Optimize thread configurations to be unpacked from the bitmap once at startup and during reconfigure as opposed ad-hoc 2023-09-09 17:37:14 +01:00
ca2f8fea71 [*] Mitigate Kernel32 and Rtl mixing 2023-09-09 15:29:48 +01:00
1fa063e19f [*] Why am i calling libm/crt from here? how stupid am i 2023-09-09 15:16:06 +01:00
4ad70cadb4 [*] optimization: cea33621 cont 2023-09-09 14:38:02 +01:00
e7ec875851 [*] added more win32 steady time clock, frequency-based fast paths 2023-09-09 13:58:14 +01:00
cf7be329d6 [*] Update fallback RNG entropy: reduce expected tick resolution 2023-09-09 13:50:26 +01:00
cea3362186 [*] Finally fixed an old regression: RWLock is back to being write-biased to prevent forever-read conditions 2023-09-09 13:03:02 +01:00
109b0cff3f [*] ...and same applies to RWLock
(instead its pls dont use the public api instead of the internal NT apis)
2023-09-09 12:39:47 +01:00
9601fcfd39 [*] NT AuThreadPrimitives: stop using these AuProcAddresses directly 2023-09-09 12:29:43 +01:00
8e59300395 [*] Another broken Linux path 2023-09-09 12:17:40 +01:00
51dcd190b3 [*] Missing SysPushErrorXXXs 2023-09-07 23:20:26 +01:00
36a72228db [*] Cleanup/formatting of SMT yields 2023-09-06 17:01:01 +01:00
213ed6c49b [*] yes 2023-09-05 22:31:16 +01:00
3adb019cf1 [*] d3587dbf cont 2023-09-05 15:03:59 +01:00
d3587dbf08 [*] 560ca079 cont perf improvement 2023-09-05 14:17:49 +01:00
560ca079a4 [*] AuAsync performance improvement: avoiding the kernel 2023-09-05 02:36:46 +01:00
876f4439b3 [*] NT proceesses: no point in pretending _spawnv is a real thing. this path is just causing defects. 2023-09-04 23:46:48 +01:00
f53508baa9 [*] Unify both SMT subloops 2023-09-04 23:03:08 +01:00
d112179c83 [*] May as well make this in line with the others 2023-09-04 16:45:42 +01:00
bcf3fabd83 [*] FS Resources (GetWritableAppdata): fail over to this path instead of failing 2023-09-04 16:32:28 +01:00
1c80e4910b [*] RWLock: another optimization for embedded and win7 targets 2023-09-03 13:35:12 +01:00
1479bcaa22 [*] bonk 2023-09-02 21:24:37 +01:00
5b9e780fa0 [*] Fix some obvious recent regressions in NT loop queue 2023-09-02 19:36:12 +01:00
c2a6bd92fa [*] Minor optimization in a shit primitive 2023-09-02 19:09:04 +01:00
0838373410 [*] NT Optimization: more aggressive semaphores to prevent atomic failures (perhaps this could be made to account for weak exchanges under different archs) 2023-09-02 19:05:07 +01:00
73a52552f7 [*] [to revert?] Attempt to mitigate message spam wakeups on older systems
Also forces higher latency on Windows 7
2023-09-02 17:56:15 +01:00
cc6e0358fa [*] NT: further optimizations to solve CPU usage regressions 2023-09-02 16:11:06 +01:00
9fbdafea74 [*] x86_64 Use RDSC for more deterministic back-off durations
Well, sort of. It's more likely to be referenced against the exact frequency stated in the hard-coded CPUID vendor string.
2023-09-02 14:37:07 +01:00
85102ec7ce [*] Minor NT LoopQueue fixes/improvements 2023-09-02 04:56:41 +01:00
de25694416 [*] bonk (use AuAXXX atomics) 2023-09-02 04:55:43 +01:00
a20e9b4954 [*] Win10/Linux regression in RWLock (again) 2023-08-31 18:41:18 +01:00
dd655ad3e0 [*] Linux unaligned signal fix 2023-08-31 18:41:10 +01:00
affe4cc496 [*] RWLock: simplify writersPending_ guard
[*] Fix RWLock: I may have messed up the new fast path timeouts in RWLock
[*] RWLock: refactoring/improvements
2023-08-30 16:11:54 +01:00
cf118d0b4b [*] Minor RW lock tweaks 2023-08-30 14:57:13 +01:00
af8737e9d2 [*] 32bit builds can run on 64bit systems 2023-08-30 12:36:59 +01:00
627cdd069f [+] AuOptional<AuUInt> Aurora::HWInfo::GetSwapSize()
[+] AuOptional<AuUInt> Aurora::HWInfo::GetPhysicalSize()
utils
2023-08-30 01:37:49 +01:00
46850c9122 [*] Shutup clangbang 2023-08-30 01:28:05 +01:00
47cec914cb [*] Refactor FIOConfig::ddefaultBrand -> (AuOptional) FIOConfig::optDefaultBrand
[+] FIOConfig::bIsIntranetTrusted
2023-08-29 21:10:53 +01:00
b5a452a43d [+] AuFS::IsFileBlocked
[+] AuFS::IsFileTrusted
2023-08-29 20:30:09 +01:00
0fcd63d3a8 [+] Missing Win8 check. Literally who? 2023-08-29 16:51:55 +01:00
9fcc62fb92 [*] Always check adapter info length 2023-08-29 16:31:39 +01:00
47cccd0490 [+] Absolute Win32 version checks
[+] bool AuSwInfo::IsWindowsXP()
[+] bool AuSwInfo::IsWindowsXPSP1()
[+] bool AuSwInfo::IsWindowsXPSP2()
[+] bool AuSwInfo::IsWindowsXPSP3()
[+] bool AuSwInfo::IsWindowsXPAny()
[+] bool AuSwInfo::IsWindowsVista()
[+] bool AuSwInfo::IsWindowsVistaSP1()
[+] bool AuSwInfo::IsWindowsVistaSP2()
[+] bool AuSwInfo::IsWindowsVistaAny()
[+] bool AuSwInfo::IsWindows7()
[+] bool AuSwInfo::IsWindows7SP1()
[+] bool AuSwInfo::IsWindows7Any()
[+] bool AuSwInfo::IsWindows8()
[+] bool AuSwInfo::IsWindows8Point1()
[+] bool AuSwInfo::IsWindows8Any()
[+] bool AuSwInfo::IsWindows10()
[+] bool AuSwInfo::IsWindows11()
2023-08-29 16:12:13 +01:00
3503d0ec68 [+] Added Linux signal configuration and separate LinuxConfig type (LinuxConfig)
[*] Fix Linux regressions in previous NT commit
2023-08-29 03:11:28 +01:00
ac0981ac1b [+] bool IsHandleFile(AuUInt uHandle)
[+] bool IsHandleTTY(AuUInt uHandle)
[+] bool IsHandlePipe(AuUInt uHandle)
...as opposed to forced IOHandle usage
[+] AuIOHandle
[+] AuSharedIOHandle
2023-08-29 01:37:25 +01:00
be32e2777f [*] 3; chosen by dice roll. mimalloc heap seed regression: 115ee1a9ec 2023-08-29 01:07:59 +01:00
fef6eac859 [*] More Linux tweaks 2023-08-28 19:13:18 +01:00
0d759f85f8 [*] Linux/Clang fixerinos/improvements 2023-08-28 16:35:32 +01:00
55c02d4aa0 [*] Tweak default thread config
[*] Fix regressions
2023-08-28 11:48:13 +01:00
b2e1df8f72 [*] Annoying Linux checks 2023-08-27 21:35:40 +01:00
209d1939aa [*] Tweak default thread config 2023-08-27 21:27:49 +01:00
97296d1fe9 [*] ThreadingConfig::bPreferEnableAdaptiveSpin 2023-08-27 20:26:36 +01:00
8fe2619673 [*] Rework SMT yielding 2023-08-27 19:56:22 +01:00
6a3b278ea0 [*] Amend 4674f45d 2023-08-27 19:42:21 +01:00
b8458990c9 [*] Amend a41a2719 2023-08-27 18:25:04 +01:00
4674f45dd3 [*] Support for further Win32 API degradation / historical OSes / emulators 2023-08-27 17:43:29 +01:00
5cf7533eab [*] Linux and UNIX QOL 2023-08-27 12:42:10 +01:00
9bd05a0752 [+] HashStream SOO
[+] HashSteam extension padding for future use
2023-08-26 21:32:49 +01:00
a41a27198e [*] zoom 2023-08-26 21:11:27 +01:00
3e5aa1aff0 [*] Simplified lines of code: shared pointer init 2023-08-26 19:02:14 +01:00
7680a86d5a [*] ...same applies to these 2023-08-26 18:46:00 +01:00
610f2c73a0 [*] Optimize >4 thread wakeups on <= Win7, under Semaphore 2023-08-26 18:08:33 +01:00
4b1e3fd1e5 [*] 346a9f3bde still isnt good enough. why the fuck must all (not projecting), all, linux code even from the kernel maintainers have fucked syscall checks? 2023-08-26 16:50:20 +01:00
346a9f3bde [*] More aggressively wake up reorder prone (unlikely) condvars under broadcast (unlikely) 2023-08-26 15:56:59 +01:00
3ca8de022e [*] Fix issues related to inconstent retardation in the asinine freetard world
GNU and its consequences have been a disaster for the human race
2023-08-26 15:04:48 +01:00
4a73f7250f [*] Another uniproc test 2023-08-25 12:42:31 +01:00
337df8040c [*] Move uniprocessor check 2023-08-24 15:12:49 +01:00
100964ac87 [*] NT Semaphore optimization 2023-08-24 13:55:31 +01:00
935d1b6ab2 [*] RWLock: added another SignalManyWriter condition to ensure upgrades never get missed 2023-08-24 11:45:15 +01:00
1ecd46ddbf [*] Ad-hoc system thread signals 2023-08-24 10:43:33 +01:00
937f123dad [*] RWLock: Futex waiter path: force read semantics 2023-08-24 10:20:43 +01:00
49ced3fcc6 [*] Always attach to the main thread context on init 2023-08-24 10:17:53 +01:00
31319981ba [*] Two trivial Linux tweaks 2023-08-23 23:45:26 +01:00
fae93a71b0 [*] Attempt to guess UNIX (Linux) CPU topology when missing file systems 2023-08-23 23:32:30 +01:00
3898a41198 [*] Adopt new ROXTL atomics
...AuAtomicLoad + AuAtomicClearU8Lock
2023-08-23 22:03:00 +01:00
293a8ddd66 [*] Simplify when to call _beginthreadex (we probably shouldn't) 2023-08-23 19:11:21 +01:00
61eaa701b7 [*] MSVC compilation regression
(theres no way in fuck vista or xp will run with >= 32 threads. hell, you can barely expect the acpi and boot video drivers to work.)
2023-08-23 19:05:32 +01:00
10e95fb5ae [*] Begin reworking Linux/POSIX PRIOs 2023-08-23 18:17:15 +01:00
9c04b31da3 [*] Don't warn on XP/Vista 2023-08-23 17:09:19 +01:00
921fee1b8d [+] IAuroraThread::SetNoUnwindTerminateExitWatchDogTimeoutInMS 2023-08-23 17:01:56 +01:00
412630077d [+] ThreadingConfig::bPreferWaitOnAddressAlwaysSpin 2023-08-23 16:45:08 +01:00
524365b5da [*] Handhold non-MSVC compilers 2023-08-23 16:38:22 +01:00
0c5d140bd4 [*] Autoset bPlatformIsSMPProcessorOptimized to false on singlethreaded systems 2023-08-23 16:03:22 +01:00
d79cb4f3ca [*] RWLock: WakeOnAddress optimization on wait to prevent mutex congestion on modern OSes 2023-08-23 15:37:55 +01:00
30fc75cbab [*] Clang 15 build regression: AuList<T> before T definition 2023-08-22 20:17:57 +01:00
a4d317a48d [*] Reoptimize semaphore wait paths 2023-08-22 15:28:09 +01:00
7ad725ca04 [+] Global adaptive spin 2023-08-22 13:01:06 +01:00
ccfd0fafab [*] Why must all languages be garbage at expressing life-span of constness?
This is const-correct, as in, we don't expect to modify the pointer; you dont need to be a writer
This was const-correct, as in, this field better be a volatile block of memory you expect to update - plz dont to any retarded assumptions based on it being "const," compiler.
2023-08-22 11:08:56 +01:00
3747fb7c6f [+] ThreadingConfig::uUWPNanosecondEmulationMaxYields
[+] ThreadingConfig::bUWPNanosecondEmulationCheckFirst
2023-08-22 09:56:32 +01:00
cf363b9f5b [*] Ensure this never throws 2023-08-22 09:45:32 +01:00
76ac770674 [*] Update a handful of condvar cas's and account for laziness along the way 2023-08-22 09:44:54 +01:00
cd362db7af [*] Deaf, dumb, and blind 2023-08-21 19:20:52 +01:00
fa170c413d [*] More compact Linux primitives 2023-08-21 19:17:05 +01:00
e8f445c463 [*] Linux build regression / AuProcesses API change 2023-08-21 17:48:48 +01:00
5cc811be19 [*] More compact Win32 primitives! 2023-08-21 17:34:24 +01:00
869512e651 [*] Optimization: Remove two stupid branches in RWLock 2023-08-21 16:33:32 +01:00
f847ab049a [+] ThreadingConfig::bPreferRWLockReadLockSpin 2023-08-21 16:25:51 +01:00
e1f384de2e [*] RWLock: improper upgrade handshake
The switch over to two condvars still doesnt seem right
2023-08-21 16:20:52 +01:00
681c4b9158 [*] RWLock: revert this branch to checking for 0 and 1 remaining readers
[*] Formatting
2023-08-21 16:08:30 +01:00
e2909ebe74 [*] RWLock: Upgrade UpgradeReadToWrite sleep path 2023-08-21 16:02:55 +01:00
68b4fe5f8b [*] RWLock: not implementing LockAbsMS and LockAbsNS can hurt the hotpath 2023-08-21 15:50:45 +01:00
d1b1bfb221 [*] Caught an issue with RWLock: cant reenter unlocked reentrance mutex. 2023-08-21 15:39:56 +01:00
631ffab1a2 [*] stupid formatting crash 2023-08-21 15:32:22 +01:00
a60a1b3088 [*] dont assume these condvar paths cant underflow 2023-08-21 00:25:29 +01:00
3fe2d15a2f [+] AuProcesses::StartupParameters::environmentVariables
[+] AuProcesses::StartupParameters::bInheritEnvironmentVariables
[+] AuProcesses::StartupParameters::handleOutStream
[+] AuProcesses::StartupParameters::handleErrorStream
[+] AuProcesses::StartupParameters::handleInputStream
[+] AuProcesses::StartupParameters::optAffinity
2023-08-20 23:58:32 +01:00
b8d4e02ab5 [+] Aurora::Threading::GetThreadingConfig
[+] Aurora::Threading::SetThreadingConfig
[*] Save a few bytes in Aurora::ThreadingConfig
2023-08-20 16:23:03 +01:00
08f30017b8 [*] regression: b236469d06 cont 2023-08-20 13:41:53 +01:00
71617ca66e [*] Format SMT spin 2023-08-20 09:50:41 +01:00
f1a08d25e7 [+] AuUInt32 GetTotalSpinCountTimeout()
[*] Fixup FutexWaitable
2023-08-20 09:47:31 +01:00
b236469d06 [*] Made WakeOnAddress trigger pointers always const 2023-08-19 20:37:24 +01:00
2fae266876 [*] Fix WakeOnAddress constness of the comparison argument 2023-08-19 19:48:24 +01:00
fa34f7dcef [*] Regression in 262d76dd 2023-08-19 19:04:30 +01:00
8874fd9810 [*] Cache Win8+ check 2023-08-19 18:49:16 +01:00
19224d2eed [*] Default back to zero. Do not throw off other threads if only used once 2023-08-19 18:39:13 +01:00
ab4971ef9c [+] Linux threading options 2023-08-19 18:33:54 +01:00
8bf6bdd963 [+] More threading options
[+] AuThreading::SetSpinCountTimeout
[+] AuThreading::SetThreadLocalAdditionalSpinCountTimeout
2023-08-19 18:16:48 +01:00
e6bf022bef [*] Atomic SOCK_CLOEXEC-awareness on some UNIX systems 2023-08-19 15:06:59 +01:00
ef4dc9bc18 [*] Alternative panic path for older Win32 targets 2023-08-19 13:30:44 +01:00
7fb8b89def [*] Some unwanted indirect branching is still bleeding in; mark more primitive classes as final 2023-08-19 11:41:37 +01:00
92ebafecab [*] Suppress a number of antisemitic clang warnings 2023-08-18 23:32:46 +01:00
ad5bbee6b2 [*] Linux: optimize futex wrappers 2023-08-18 22:51:47 +01:00
836edbabdd [+] Linux and BSD specific RNG
[*] Improved UNIX rng read check
2023-08-18 22:38:17 +01:00
ebce7e0048 [*] Alternative solution for FOLDERID_UserProgramFiles when targeting <= Windows Vista 2023-08-18 18:38:11 +01:00
61df62213f [*] Found some missing close handles in some error paths 2023-08-18 16:23:28 +01:00
4240966512 [*] Two trivial changes (not fixing or improving anything) 2023-08-18 15:53:38 +01:00
7dd6145dc1 [*] Always use unsigned integers under the semaphore classes 2023-08-18 15:26:31 +01:00
2a1556d80c [*] Optimize Linux semaphore 2023-08-17 23:06:02 +01:00
b6ff6b1623 [*] Ensure child thread pools can shutdown their parent 2023-08-17 11:46:25 +01:00
9502930c1b [*] Linux lower latency fix 2023-08-15 20:28:13 +01:00
e825531558 [+] Unix: IOHandle::IsFile(), IOHandle::IsTTY(), IOHandle::IsPipe() 2023-08-15 15:04:13 +01:00
78634d11db [*] NT File Stream: unlikely race condition 2023-08-15 14:48:54 +01:00
3df8621944 [+] NT: IOHandle::IsFile(), IOHandle::IsTTY(), IOHandle::IsPipe()
[*] Revert to supporting write-only handles
2023-08-15 14:46:21 +01:00
9cea2fe82a [*] This was bothering me 2023-08-15 14:19:23 +01:00
79371fc82f [*] Linux stat regression? 2023-08-15 09:03:22 +01:00
4db0d3c6af [*] Regressed written length check in: 7100c807 2023-08-15 08:45:44 +01:00
04956bedba [*] Shorten the expected overhead of some Linux primitives 2023-08-13 20:09:58 +01:00
3828712273 [*] Supporting Linus-OS is causing me more HEADACHES
(fix nt regression in linux catch-up commit)
2023-08-13 16:02:20 +01:00
f265ca267a [+] IThreadPool::AddDependency 2023-08-13 09:30:17 +01:00
6ec2fcc4b6 [*] Added timeout awareness in ConditionEx; returns false on timeout
[*] Updated Linux SOO sizes
2023-08-12 11:18:19 +01:00
7962772c62 [+] Added Linux-specific condvars and condmutex 2023-08-12 11:11:12 +01:00
737d3bb4d6 [+] AuProcAddresses.Linux.* 2023-08-12 10:16:20 +01:00
1f173a8799 [*] Begin resolving 8 months of Linux neglect 2023-08-11 16:51:42 +01:00
7100c807c8 [*] Unify FS write utilities 2023-08-11 06:21:42 +01:00
0f12603390 [+] AuAsync::NewWorkFunction
[+] AuAsync::IThreadPool::NewWorkFunction
[+] AU_DEBUG_MEMCRUNCH
2023-08-10 03:36:19 +01:00
a0c82788d9 [*] AuAsync optimization: remove some rwlock guards 2023-08-10 01:31:10 +01:00
7dda7ae358 [*] AuAsync shutdown is still a mess 2023-08-10 01:20:34 +01:00
7865749348 [*] dd130980 cont: improved AuAsync scheduling 2023-08-10 01:13:44 +01:00
e68dc02e7e [+] Secret AuAsync::KeepThreadPoolAlive api (for now) 2023-08-09 10:30:24 +01:00
dd13098022 [*] Transition to dynamic tick-based scheduling
[*] Re-do AuAsync reference counting
[+] IWorkItem::SetSchedSteadyTimeNsAbs
[*] Irrelevant IIOProcessor sources are now discarded in evaluating whether or not a thread-pool in special running mode should shutdown
[*] Transition WorkItems to only use steady time
[*] Refactor AsyncConfig
[*] Drop default SMT spin time from hundreds of cycles to ~32 so that we can sit nicely at the bottom of task manager unless the application calls for extra responsivity
2023-08-09 03:21:14 +01:00
424cccd00a [+] IAsyncTransaction::HasCompleted 2023-08-09 00:14:36 +01:00
df6f29bf38 [+] IAsyncTransaction::SetBaseOffset 2023-08-09 00:02:35 +01:00
fc08e8351d [+] Begin work on a POSIX 2001 based clock implementation as opposed to the retarded stinking free-shit glibc toddlers hacked together alongside linux vdso. Once again, a POSIX spec from 2001 and NT kernel releases from 2 decades ago are much better than whatever the hell Linux toddlers are up to in the 2020s.
Fuck your 1998 POSIX1.b UNIX ass interface with extensions that dont even provide the functionality of POSIX 2001.

Much like how UWP is forcing us to support Windows XP, Linux retardation is pushing us towards legacy POSIX support (the deprecation of AuProcesses pidfd requirements, now this)

Alongside this, #60, this is yet another monthly reminder that the Linux kernel maintainers are the most useless incompetent boomers gluing forced-source drivers into a monolithic mess.

PS: if i wasnt malding before, i am now after trying to unearth the context of this disaster.

https://nextcloud.reece.sx/index.php/s/jx82SsygJYWSir6/preview
https://nextcloud.reece.sx/index.php/s/RpRpNbnBixyMT5G/preview
https://nextcloud.reece.sx/index.php/s/NfMfDCcxL6sfXCf/preview
https://nextcloud.reece.sx/index.php/s/7A4t5JNzzFctPT6/preview
https://nextcloud.reece.sx/index.php/s/cyYwm8GPLKiLFqS/preview Bills peen company had this figured out before < LINUX 2.2 1999 EVEN HAD CLOCK APIs. ARE YOU FUCKING KIDDING? LINUXs MAIN CLOCK IMPLEMENTATION WASNT EVEN DONE UNTIL 2002 BY ONE GEORGE BECAUSE PATHER DIDNT FUCK IT UP ENOUGH?

Freetards should get the wall. I don't know how these braindead fuckers could've ever eaten a bowl of cereal without choking on the milk and dying.

* 2002-10-15  Posix Clocks & timers by George Anzinger
 [...]
 These are all the functions necessary to implement
 POSIX clocks & timers

Meanwhile at Microsoft in 1997, ...

I just cant anymore. Why the fuck are we even paying lip service to Linshit?
2023-08-04 00:42:51 +01:00
262d76ddee [*] Windows 7 and predecessors: AuHwInfo memory usage queries seem... off 2023-08-03 23:29:46 +01:00
c85d65aa59 [*] NT: these file handles must be marked async if reimported 2023-07-30 14:27:33 +01:00
9a2e5674e8 [*] RWLock improvements 2023-07-30 11:23:40 +01:00
c889af13e5 [*] bNoThreadNames option wasnt respected 2023-07-30 10:00:54 +01:00
ceb5b2961e [+] FALLBACK_WAKEONADDRESS_SUPPORTS_NONEXACT_MATCHING
[+] ThreadingConfig::bPreferEmulatedWakeOnAddress
2023-07-30 09:52:41 +01:00
c306c12763 [*] Improve WakeOnAddress by hash binning by kDefaultWaitPerProcess instead the previous iteration before BST or HashTree lookup 2023-07-30 09:34:39 +01:00
3ff5d8a74e [*] NT FSStream: Added more push debug errors 2023-07-29 10:13:25 +01:00
c05a859638 [*] nt: fix new blocking over async paths (eos handling) 2023-07-29 10:07:27 +01:00
a79caa707f [*] autism 2023-07-29 10:00:16 +01:00
5e94be7487 [*] ConditionEx::WaitForSignalRelativeNanoseconds -> WaitForSignalNS 2023-07-29 09:52:59 +01:00
a8daf3ff4f [*] Minor failover fix (Nt delete on close) 2023-07-29 09:48:18 +01:00
82d334177f [*] another half-assed brotli path (can you tell i didnt care about this compressor?) 2023-07-29 09:18:02 +01:00
9ce4e08d36 [+] IFileStream::GetHandle() 2023-07-29 09:13:43 +01:00
9f78555693 [*] Updated AuProcess mapping API to use file handles 2023-07-29 09:02:55 +01:00
4ad2a54ccf [+] IPCPipe::GetCurrentSharedDuplexHandles() 2023-07-29 09:02:05 +01:00
7e2aa2de3d [+] AuIO::IIOHandle 2023-07-29 08:02:47 +01:00
0cf38d5fcd [*] Fix: IPC test fails on Windows 7 2023-07-28 17:54:30 +01:00
89dd94f8bd [*] shid 2023-07-28 17:16:57 +01:00
247e702712 [*] Compression window bits regression 2023-07-28 16:12:33 +01:00
7fa0a52e2c [*] Fix FS Watcher under Windows XP -> Windows 7 2023-07-28 14:20:45 +01:00
4a5cb3c168 [*] oops 2023-07-28 08:55:19 +01:00
73548b00d7 [*] Refactor: added missing opt reference in member 2023-07-28 08:10:08 +01:00
2ce69049d9 [*] uQuality brotli fix 2023-07-28 07:44:16 +01:00
ff0fbed560 [*] whatever 2023-07-27 23:00:11 +01:00
3d9ad0350e [*] now brotli maps uWindowBits to BROTLI_PARAM_LGWIN
[+] CompressInfo::uQuality
2023-07-27 22:55:28 +01:00
3db5554673 [+] brotli now respects CompressInfo::uCompressionLevel
[+] brotli now respects CompressInfo::uBlockSize
[*] refactored CompressInfo::uLz4BlockSize -> CompressInfo::uBlockSize
[*] zstd decompressor now respects user arguments
[*] zstd compressor now respects user arguments
[*] brotli decompressor now respects user arguments
[*] brotli compressor now respects user arguments
2023-07-27 20:45:49 +01:00
c084f18c62 [*] Resolve one stated Windows 7 defect 2023-07-27 19:55:41 +01:00
5dddc9d0d8 [*] Qt: More LoopQueue NT fun 2023-07-27 19:06:09 +01:00
2b777f1e38 [+] IIOProcessor::ConfigureNoDeferredTicks (hack for Qt modals) 2023-07-27 16:31:47 +01:00
b411c710d1 [+] IConditionVariable::WaitForSignalNS 2023-07-25 15:59:04 +01:00
76262c2e3e [*] Trivial Win8+ condvar broadcast improvement (pragmatism) 2023-07-25 15:28:02 +01:00
1a383f8157 [*] Two annoying formatting issues in RWLock 2023-07-25 12:57:47 +01:00
66cfbb5351 [+] FlexibleConditionVariable::WaitForSignalRelativeNanoseconds(AuUInt64 uRelativeNanoseconds)
[+] FlexibleConditionVariable::WaitForSignalRelativeNanoseconds(Threading::IWaitable *pWaitable, AuUInt64 uRelativeNanoseconds)
[+] FlexibleConditionVariable::WaitForSignalRelativeNanoseconds(AuUInt64 uRelativeNanoseconds)
[*] Refactor FlexibleConditionVariable
2023-07-25 12:38:49 +01:00
dab6e9caee [*] Refactor: FeaturefulCondition -> FlexibleConditionVariable
[+] SOO for FlexibleConditionVariable
2023-07-25 12:27:08 +01:00
daf6108902 [*] Removed retarded code inspired by late 90s - 2003 Microsoft Andy-IQ engineering
This was bothering my autism
2023-07-25 11:57:22 +01:00
b48966a39e [*] Caught uninitialized member 2023-07-25 02:12:19 +01:00
d45dc977d8 [*] NT: Further reduce Win32 link-time requirements cont (1948dd0c) 2023-07-24 12:48:42 +01:00
1948dd0c1a [*] Further reduce Win32 link-time requirements 2023-07-24 07:17:08 +01:00
f919452bc4 [*] (654cc8fe cont) Win XP -> 8: CpuInfo::maskAllCores fix 2023-07-14 18:30:21 +01:00
788dde684b [*] Windows Vista, UWP, and Windows 11: Move Windows 7 and 8 SetThreadGroupAffinity symbol from the IAT to AuProcAddresses.NT.[c/h]pps object
[*] Update the READMEs support table
2023-07-14 16:33:26 +01:00
654cc8fe04 [*] Win XP -> 8: CpuInfo::pCoreTopology fix 2023-07-13 23:23:28 +01:00
c4806f8e81 [*] This was bothering my autism for a while and I need to rebuild anyway. 2023-07-13 20:00:28 +01:00
8a4fc0d9c3 [*] Amend runtime config typo: Prefer*
[-] Redundant AuTime header (ExtendedTimer.hpp)
2023-07-13 19:50:18 +01:00
115ee1a9ec [*] Improve time based RNG failover implementation 2023-07-13 05:58:53 +01:00
29226b8134 [*] Never rely on the CRT for clean-up if an API user requests us to exit 2023-07-11 21:01:23 +01:00
adefbbe16b [*] Harden time based RNG
[*] RNG needs specific optimal paths for Win10 and older oses
[+] Internal RtlGenRandom
2023-07-11 18:02:40 +01:00
655f1839c5 [+] Internal void Aurora::Win32Terminate()
[+] Global NT-like Aurora::gUseFastFail
2023-07-11 15:21:55 +01:00
c0388144d0 [*] Amend win 10+ ecore awareness (d192e2529f) 2023-07-11 01:48:51 +01:00
8bf351e007 [*] NT Win8+ fix: improper condvar wake up
[*] Fix kThreadIdAny regression
2023-07-11 00:54:54 +01:00
d6739f5196 [*] Amend process creation time. I did a dumb. (bdec6ff8) 2023-07-10 21:43:08 +01:00
66b948697b [+] Missing x509 members
[*] Added POSIX-like rng fd close on deinit
[*] Added verbose arg checks for unix env vars
2023-07-10 20:58:12 +01:00
c90a13ad95 [*] Minor NT optimization: move branch 2023-07-10 20:06:18 +01:00
bdec6ff8ba [+] AuProcess::EnvironmentGetAll
[+] AuProcess::EnvironmentGetOne
[+] AuProcess::EnvironmentSetOne
[+] AuProcess::EnvironmentRemoveOne
[+] AuProcess::EnvironmentRemoveMany
[+] AuProcess::EnvironmentSetMany
[+] AuProcess::GetProcessStartupTimeNS
[+] AuProcess::GetProcessStartupTimeMS
[*] Note WakeOnAddress on all platforms
[*] Updated READMEs
2023-07-10 17:00:42 +01:00
a977f0d1b5 [*] NT: backport unix optimization - no spin during spurious wake up 2023-07-10 13:12:17 +01:00
536522743a [*] Move this branch in NTs condvar 2023-07-10 12:31:06 +01:00
8c84ecf892 [*] Win8+: Experimental primitive improvements by taking notes from Win7 cycle pinching
[*] +regression in condvar
2023-07-10 01:13:55 +01:00
355f7db711 [*] Forgot to reintroduce these: 75b71275 (cont) 2023-07-09 22:34:31 +01:00
3e13bd17f7 [*] Clean up Runtime config
[*] Refactor DirectoryLogger
2023-07-09 21:21:49 +01:00
75b71275e7 [*] Made past and present NT condvar optional spin steps configurable via the runtime config 2023-07-09 20:52:31 +01:00
9a27f3d44b [*] Lower idle CPU usage (idle utilization regression) 2023-07-09 18:49:15 +01:00
03dbfeefe1 [*] Enhance Windows 7 scheduling resolution 2023-07-09 12:56:35 +01:00
8a853a7a4a [*] Whoops 2023-07-09 12:11:38 +01:00
14d60ee2d0 [*] Wanna drop threaten to drop older APIs from the Windows Runtime? Alright, we're being pushed towards Windows XP support by accident. 2023-07-09 11:26:41 +01:00
8c5a706dc6 [*] Reintroduce regressed branch; missing indirect branch validation before call 2023-07-09 11:02:35 +01:00
627bdddfdc [*] Ensure AuProcAddresses.NT.* is used for all dynamically linked symbols 2023-07-09 10:03:29 +01:00
d192e2529f [*] Move GetSystemCpuSetInformation to AuProcAddresses.NT.cpp
[*] Fixed e-core awareness under modern nt targets
2023-07-09 10:02:21 +01:00
a0794a2cc9 [*] Caught early deinit crash 2023-07-07 19:39:28 +01:00
5f9fcce0a1 [*] fixed logic in dirlogarchive
todo: get around to improving dirlogarchive
2023-07-06 21:27:47 +01:00
72c38548c0 [*] Fix DirLogArchive suffixes 2023-07-06 21:13:01 +01:00
4d1201a4c1 [+] EStreamForward::eNewConsoleWindow
[*] NT: Improve the selection of flags used when spawning processes
[*] NT: Caught regression in NTs FS/generic transaction IsSignaled
2023-07-06 13:44:32 +01:00
62b41ff93e [*] Further deprecate the "high res" clock
(might introduce a fast low res clock, tbd)
2023-07-06 10:17:22 +01:00
94e2f7924e [-] More redundant code from WakeOnAddress 2023-07-06 09:47:46 +01:00
b90feae7d0 [-] Remove preemptive POSIX optimization
This'll just get in the way of Linux optimizations for the sake of trying to hit the correct yield period without a spurious wake up - all in one shot.
2023-07-06 09:41:09 +01:00
e2758ea243 [-] Remove unused code from WakeOnAddress 2023-07-06 09:37:58 +01:00
99e8c68c62 [*] Update a Win8+ sync branch; can back out earlier 2023-07-05 19:32:01 +01:00
e2accb900b [*] Begin work around for use after thread-local free; WaitOnAddress emulation 2023-07-05 18:25:07 +01:00
2d06725b8b [*] Amend compression/decompression error checking; ensure correct library specific OK value is used
[*] Amend LZMA flushing
2023-07-05 17:06:30 +01:00
00cb256f06 [+] Reintroduce LZMA support after dropping support for the compression algorithm during the initial rewrite 2023-07-05 13:56:08 +01:00
e9e72dce09 [+] UDP-as-sockets send channel 2023-07-04 15:17:00 +01:00
9fcee7041e [*] Amended Win7 fast fail path 2023-07-03 19:40:38 +01:00
677a845614 [*] amend a7730ed8 2023-06-30 15:42:50 +01:00
ca2c0462ab [*] Continue to refactor allocations of synchronization primitive away
[*] NT: Fix missing CoTaskMemFree leak on startup
[*] Fix ConsoleStd restart bug
2023-06-28 10:33:12 +01:00
3563ece47b [*] Improve non-fatal exception handling 2023-06-28 04:48:25 +01:00
894df69fe0 [*] remove redundant branch from sync primitive
[*] optimize event
2023-06-28 02:24:53 +01:00
1265027550 [*] Cap ConsoleTTY buffer to 10k entries 2023-06-27 12:40:47 +01:00
a454a2d71e [*] Sync primitive improvements
[*] Reverted a change for UNIX: always never-spin acquire under observational lock
[*] Decreased common case of syscall operations under Linux and UNIX
[*] Unix signaling: prevent waits while during condvar wake up by unlocking before the signal
[*] NT no wait: semaphores must not spin under lock
2023-06-26 08:59:49 +01:00
09295e57f8 [*] TODO: sort out async run modes 2023-06-26 08:11:45 +01:00
a7730ed8ee [*] Win32: improve reporting of critical exceptions 2023-06-24 21:21:11 +01:00
752d67c0ff [*] Save/crash using this path 2023-06-24 21:10:14 +01:00
5fa8720c9b [-] Win32: Unlink Wer.lib.
Write to the registry instead.
2023-06-24 21:01:57 +01:00
07720f0379 [*] minor win32 exception handling improvements
(80faead5, ce424388 cont)
2023-06-24 20:43:32 +01:00
4c72a20ba2 [*] Win32: required to prevent leaks when invoked by Qt (todo: proper journaling of pending actions) 2023-06-24 17:41:09 +01:00
80faead53f [*] Win32: fix regression in error handling (after: ce424388 ?) 2023-06-24 13:53:32 +01:00
1783202384 [*] ConsoleTTY QOL 2023-06-24 04:47:06 +01:00
fa90463a73 [*] im not sure why this was written like this 2023-06-23 22:36:13 +01:00
0d05fd3d33 [*] Minor mostly unnoticeable primitive improvements 2023-06-23 21:37:04 +01:00
74e036b809 [*] NT: Switch the event primitives used in old AuLoop (Aurora::Loop - no IO) subsystem 2023-06-23 07:56:40 +01:00
47746de462 [+] Process and threaded user and kernel time keeping clocks 2023-06-19 17:48:24 +01:00
2d6dca4e21 [+] 32bit SOO sizes for sync primitives under x86_32/MSVC
[*] Optimize the write-biased reentrant read-write lock down to 88 bytes on MSVC x64
2023-06-17 17:08:58 +01:00
451b9025c0 [*] Fix major recent regressions
amend: 48075bfd
amend: 25b933aa
amend: f50067e6 (to be overwritten)
et al
2023-06-17 15:12:16 +01:00
48075bfda7 [*] cleanup: added gUseNativeWaitSemapahore 2023-06-16 00:06:32 +01:00
25b933aafa [*] Fixed regression in RWLock size without sacrificing on features
(TODO: I would like to WoA optimize it for modern oses at some point)
2023-06-16 00:02:42 +01:00
e11028bb03 [*] Timeout division: ensure this never deadlocks 2023-06-15 21:15:58 +01:00
74b813f051 [*] Bloat RWLock by adding a separate yield queue for writers (we were already writer biased)
This will help us reduce cpu usage and latency at the cost of 32 bytes.

We are now hopelessly oversized: 136 bytes for a single primitive. 104 was barely passble.
2023-06-15 20:54:19 +01:00
d389f9dda3 [*] Re-optimize the primitives for Windows 8+ on top of a Windows XP+ core 2023-06-15 20:52:28 +01:00
28201db2d7 [+] Improve WoA on Windows 8+
[+] AuThreading::WaitOnAddressSteady
2023-06-15 20:44:27 +01:00
17c50eff64 [*] fix old unix sync regressions
do not hold switching lock while spinning as originally written and intended
2023-06-13 12:05:55 +01:00
b91ce52195 [*] Not sure how WOA regressed 2023-06-12 19:35:54 +01:00
1a8acbdde5 [+] By-raw pointer WOA lists
(also they are now fairer)
[+] Steps towards future proofing NT (not the future proofing itself)
2023-06-12 18:31:44 +01:00
50413f36e5 [*] keyed events should yield indefinitely in their failure path
(amended one day later: removed one of the fixes. this is gonna apply to just one place for now)
2023-06-12 15:51:54 +01:00
123e34d224 [*] been meaning to remove this debug preemptive wake up for awhile 2023-06-11 21:35:47 +01:00
1bda1f469f [*] simplify wake on address emulation
Windows 7 reporting improved time to wake, but it is still averaging about the same... everything.
2023-06-11 19:13:37 +01:00
5b495f7fd9 [*] sched: minor clean up 2023-06-11 17:52:50 +01:00
573031cd96 [*] idiot-proofing memory ownership 2023-06-11 15:49:39 +01:00
1f505fcf02 [+] Added explicit stream interface cache reset path under proto stacks
(amended: missed one discard)
2023-06-11 15:30:14 +01:00
98c1235554 [+] Futureproofing: AuByteBuffer flag 2023-06-10 21:50:00 +01:00
4a584ce73a [+] Future proof IProtocolInterceptorEx with an optional pParent in the only Aurora Interface methods last argument 2023-06-10 20:33:19 +01:00
90e08d534c [*] optimize the other half (aa7f783f) of compression streams when used with the interceptor interface 2023-06-10 20:03:29 +01:00
519ba4b26e [*] Fix up AuProcess version handling handling. Includes a new secret env-var.
(amended)
2023-06-08 10:29:13 +01:00
a56538a4cd [*] women 2023-06-07 21:10:29 +01:00
9f52ca0f1a [*] A patch to fix some of the regressions introduced in the first step in overhauling AuAsync
i beat my wife with cardboard spoons. jolly fun.
2023-06-07 20:35:31 +01:00
50f25e147a [*] improve latency (i think - benchmark pending) 2023-06-07 11:45:14 +01:00
aa7f783fe9 [+] Optimize half of the compression cpy operation 2023-06-05 14:55:40 +01:00
301f1a6025 [+] yes 2023-06-04 22:19:57 +01:00
8b36562cf0 [+] why not? 2023-06-04 21:18:44 +01:00
78091bf84b [+] also gonna impl this flush 2023-06-04 20:52:22 +01:00
bbd4679bed [+] AuIO::IOPipeCallback::bCloseWriter 2023-06-04 20:49:13 +01:00
bc203d8cbc [+] ProtocolPiece::GetParent 2023-06-04 19:07:26 +01:00
c9ed4b09b9 [+] Implement IStream[Read/Write].close for various IO subsystem interfaces 2023-06-04 19:02:33 +01:00
81b3550825 [+] AURT_ADD_USR_DATA usage across some relevant contexts 2023-06-04 17:28:29 +01:00
45b7bc6e99 [*] Improve arrow perf under win32 2023-05-31 08:09:44 +01:00
ce424388aa [*] fix stack-overflow reporting 2023-05-31 07:15:55 +01:00
b423ce14b1 [*] change-up cond-vars mutual exclusivity locking 2023-05-31 05:34:36 +01:00
5cb56da924 [*] missed break [regression in 53df1ee8] 2023-05-31 05:21:05 +01:00
055b149e11 [*] remove verbose "!= 0" 2023-05-31 04:38:05 +01:00
f92a19621a [*] adjust undershooted ms scale sleeps to smt spin, then yield, in an effort to match nano-scale sleeps within 10s of kns 2023-05-30 13:12:53 +01:00
53df1ee81d [*] Work on AuConditionVariable.NT some more
[*] Fix high cpu regression in 6af9940b
2023-05-30 12:53:26 +01:00
fb1b016c87 [*] fix what was meant to be a warning before a crash. now return false 2023-05-25 02:53:10 +01:00
6af9940bd4 [*] Rewrite a bit of AuAsync
(maybe 1/3 of a rewrite)
2023-05-25 01:55:55 +01:00
0b265c80cf [*] ::run across threads should block until shutdown
[*] kanker that needs to be rewritten
2023-05-24 08:19:47 +01:00
824602b1fa [*] i was taking a shit when i remembered our hashcash algorithm is fundamentally borked 2023-05-20 02:38:47 +01:00
b7de15d78e [*] tweak LoopQueue.nt.cpp
[*] bug fixes for running Qt alongside GTK and other loops
2023-05-16 17:11:59 +01:00
323296aa78 [*] ConvertMSToTimescale: refactor arg to u64 2023-05-12 17:49:34 +01:00
e2f16091d9 [*] amend write ahead check 2023-05-11 18:31:47 +01:00
ac4968512b [*] cleaned up an an unwanted network error from the logs by not flushing hello packets should the socket be in an unconnected state 2023-05-11 17:46:49 +01:00
5ded6a751f [+] STATUS_CONNECTION_REFUSED for some lower-level firewall drivers under Windows 2023-05-11 17:38:14 +01:00
1fa433540b [*] Experimental lower-latency IO pipes
[*] revert win32 net tx hardening - do not use the Reset function to null pSocket
[*] fix a bytebuffer circular buffer path
[*] update how TLS protocol stacks can snap the stack
2023-05-11 16:05:00 +01:00
9f59d4f921 [*] Fix TLS thread index out of bounds access 2023-05-09 14:21:55 +01:00
f842573352 [*] copy/pasted function parity 2023-05-08 15:21:15 +01:00
a2cfb7765b [*] i want every bit of performance i can squeeze out of old windows operating systems 2023-05-08 15:16:06 +01:00
08f790c3af [*] Update fenceless notes in AuMutex.NT.cpp 2023-05-08 14:46:20 +01:00
1ec1d4d01e [*] update these members [ns-scale stat refactoring] 2023-05-03 13:34:41 +01:00
2fdf730263 [*] Stats now return nanoseconds timestamps 2023-05-03 08:57:21 +01:00
75ad160559 [*] cascade errors here plox 2023-05-02 11:27:06 +01:00
fca5b90b85 [*] adjust tls coefficients 2023-04-30 14:46:36 +01:00
7c1a1566fd [*] missing tls impersonation in bd94b73d 2023-04-30 09:05:14 +01:00
448d840e4c [*] missing free in bd94b73d 2023-04-30 09:02:13 +01:00
bd94b73dde [+] New TLSView implementation
[+] AuTLSVariable
2023-04-30 08:24:27 +01:00
6683d3cfdc [+] IProtocolPiece.GetNextPiece
[+] IProtocolPiece.ReallocateDrainBuffer
[*] Harden protocol piece use after destroy
2023-04-29 07:00:29 +01:00
c787d85485 [*] bug: fix process time counters under win32 2023-04-29 05:26:53 +01:00
0175809d0a [*] Compression pipe now returns false should an error occur 2023-04-29 03:10:08 +01:00
4086fc94bb [*] bug fix: RNG strings werent deterministic 2023-04-28 04:59:09 +01:00
da69428d7e [+] IProtocolStack::PrependInterceptorEx
[+] IProtocolStack::PrependSingleFrameProcessor
[+] IProtocolStack::PrependSingleFrameProcessorEx
[+] IProtocolStack::GetArrayOfInterceptors
[+] IProtocolStack::GetInterceptorAtIndex
[+] IProtocolPiece::ToInputWriter
[+] IProtocolPiece::GetExtendedInterceptor
[+] IProtocolPiece::GetShortPipeInterceptor
2023-04-28 02:41:45 +01:00
f8219542c5 [*] precache socket network state errors here before the last transaction is released 2023-04-27 10:44:15 +01:00
eb4ee3143d [*] bug: missing link 2023-04-27 10:26:41 +01:00
f1e9a7262b [*] pipe processors with a stack attached to them should destroy the stack to forcefully break circular references in user code 2023-04-27 06:10:09 +01:00
f70d6392d9 [*] harden 2023-04-27 01:34:29 +01:00
efadd964be [*] Improved disconnect reason reporting: HasErrorCode under the NT network async stream object 2023-04-26 20:32:25 +01:00
4b79aa902b [*] i dont think this path should ever be hit, but just to be certain, lets check the networks output channel translation object for an error if the socketbase doesnt know of the last fatal error code 2023-04-26 20:22:11 +01:00
b8540c77a7 [*] improved network error reporting 2023-04-26 20:13:17 +01:00
3f0368b99d [*] cache these adapter allocations away 2023-04-26 07:37:14 +01:00
30b0c2e0ba [*] Preemptive GetOverlappedResult fast-paths under WaitMultiple2 that rely on the alertable yield under next read/write cannot be trusted if the read count is zero.
Direct IO-specific quirk?
Windows 7 specific quirk?
Direct IO under Win7 specific quirk?
idk, but this fixes it
2023-04-26 07:25:45 +01:00
22c4d25759 [*] amend cdf5a499, bKillPipeOnFirstRootLevelFalse not respected 2023-04-25 12:57:15 +01:00
cdf5a499cb [*] Improved pipe work awareness under protocol stack to allow for propagation of error conditions such that the top most interceptor can kill the pipe work 2023-04-25 12:13:16 +01:00
e0d7bbea01 [*] stream regression 2023-04-25 10:09:37 +01:00
664eb270dc [+] IIOPipeWork::GetBytesProcessedInterframe
[*] IOPipeProcessors will now cap reported progression to the requested length if the requested page size would mean we overrun it.
2023-04-25 07:38:36 +01:00
f52175d7ce [*] build error 2023-04-25 02:59:18 +01:00
36dee459ca [*] TryLockRead was unware of RWRenterableLocks specifications
(not an issue for regular blocking lock paths)
2023-04-24 19:39:36 +01:00
8dcf857da5 [*] updated comments 2023-04-23 19:39:54 +01:00
f74a41e286 [*] Refactor our thread primitives for an SOO change, where the SOO[_t]-suffix is no longer required, resulting a new type conflict issue 2023-04-23 19:25:37 +01:00
5fd655b501 [*] further deprecate 2023-04-22 23:08:49 +01:00
772d08fee6 [*] amend 2a33d61e 2023-04-22 23:04:46 +01:00
2a33d61e63 [*] further deprecate high res clock
[*] further posix resolution reporting
2023-04-22 22:58:20 +01:00
945d54ef78 [*] i did a dumb 2023-04-22 22:38:37 +01:00
6d73dde240 [+] Thread + Process clocks 2023-04-21 22:08:56 +01:00
92af491fe8 [*] if (count == 1) * 2023-04-21 18:52:30 +01:00
36c163d90c [*] 2af2eadf cont 2023-04-19 23:57:56 +01:00
d7d514c6b7 [*] protocol-stack ticks now check against the buffers error flags to ensure Writes/Reads weren't being silently dropped in user code 2023-04-19 23:46:56 +01:00
2af2eadfa8 [*] Resolve: protocol-stack link bug (multiple append failure / missing next link) 2023-04-19 23:35:48 +01:00
00129255f8 [*] changed this to be a soft-failure 2023-04-19 04:03:49 +01:00
11ba608727 [*] bonk 2023-04-19 03:54:55 +01:00
bfd4069994 [*] logger mitigations cont - current thread callback may as well be sanitized as well 2023-04-18 02:30:11 +01:00
b32bf5f1f1 [*] Logger mitigations
Closes #47
2023-04-18 02:09:16 +01:00
b2311a8824 [+] IProcessSectionMapView::LockSwap
[+] IProcessSectionMapView::UnlockSwap
[*] Fix critical tag under ILogger
[*] Added missing includes to experimental APIs
2023-04-17 15:55:51 +01:00
0c494cb99a [*] another preemptive linux fix. i missed a step in calculating the mask (i didnt calculate the mask at all) 2023-04-16 23:58:27 +01:00
53a29a6c13 [*] flag consistency 2023-04-16 23:41:06 +01:00
4cac821fbb [+] Added critical log level
[*] Fix win32 DELETE bug
2023-04-16 23:38:31 +01:00
5d979bff6d [*] I dont think this path is really hit but still we shouldnt wake up after 4 seconds under here 2023-04-12 12:26:53 +01:00
abed78a15f [*] QtCore6 crash on Windows 7 2023-04-06 22:24:47 +01:00
6e7cee70e1 [*] added mandatory smt spin here 2023-04-05 09:42:48 +01:00
c6971efab7 [*] fix ns (<1s) padding 2023-04-05 08:30:20 +01:00
6c25b5a5e6 [*] atomicity bug fix: hold up this is bad 2023-04-03 10:13:29 +01:00
d755a9d651 [*] Massive perf boost by removing atomic and
[*] Refactor ambiguous IWaitable::Lock(timeoutMs) to LockMS to prevent final using collisions
2023-04-03 08:21:44 +01:00
39072499dd [*] remove dumb cas loops
[*] refactor
2023-04-01 09:53:00 +01:00
b3ed716e94 [*] fix minidump writing 2023-03-31 04:24:19 +01:00
238874cf8c [*] u wot 2023-03-27 23:52:41 +01:00
168e6e1e39 [*] Cleanup and harden log classes 2023-03-27 06:21:42 +01:00
a60c1e9503 [+] AuLog.LogClassGetNext
[+] AuLog.LogClassRelease
[+] AuLog.LogClassAssociateName
[+] AuLog.LogClassGetNameSafe
[+] AuLog.LogClassGetNameUnsafe
[+] AuLog.LogClassInUse
[+] AuLog.LogClassTotalInUse
[+] AuLog.LogClassTotalAvailable
2023-03-23 00:01:49 +00:00
f1826cc27f [*] wanted to do this for a while 2023-03-22 18:11:32 +00:00
440b5877b2 [*] link errors 2023-03-22 16:59:21 +00:00
184ef34838 [*] This error should be logged under future telementry
(legacy 2020 print)
2023-03-22 15:20:36 +00:00
c22a13ec56 [*] preemptive linux fix [?] 2023-03-22 15:19:32 +00:00
8272959249 [*] Further compress 2023-03-22 13:42:07 +00:00
82d455c4b1 [+] AuTime::EClock
[+] AuTime::IClock
[+] AuTime::GetWallClock
[+] AuTime::GetProcessClock
[+] AuTime::GetSteadyClock
[+] AuTime::GetClockFromEnum
[*] Rename Timer -> Stopwatch
[*] Refactor a serial AuString to a string view

(*amended year)
2023-03-21 10:26:16 +00:00
6974c713f7 [+] Allocationless thread primitives
[*] Rename SMPYield to SMTYield
2023-03-21 03:19:22 +00:00
5d8f4e6901 [*] Further optimize 2023-03-17 15:41:05 +00:00
a1f4614316 [*] i see a possible bug 2023-03-16 22:18:52 +00:00
1476307a60 [*] Force this optimization under nonship builds 2023-03-16 19:24:05 +00:00
e5981a5747 [*] Reintroduce the older implementation based on Vista sync primitives when best implementation under NT 5.1 apis isn't available (microsoft being cunts under the false guise of sandboxing xbox and uwp) 2023-03-16 18:25:23 +00:00
02684d543e [*] New NT mutex should carry the fail under this unlikely path 2023-03-16 17:33:29 +00:00
2863d2c910 [*] pls do a zoomie 2023-03-15 17:54:59 +00:00
b4b7e4a083 [*] Repressing these vtables helps us get our time to wake down 2023-03-15 16:53:43 +00:00
89057139b3 [*] Further work on the legacy NT primitives
(can still be improved, optimized, and bug fixed)
(will add a build toggle between the old SRW and this)
(...and ironically it seems like our time to wake times are worse now)
2023-03-15 16:13:09 +00:00
0ad854284e [*] NT Condvar: Clean up 2023-03-15 08:43:46 +00:00
49bfecee32 [*] i need sleep and i broke the core primitives 2023-03-15 08:30:21 +00:00
f354a202ad [*] i forgot to remove this member and we took a massive sizeof hit for it 2023-03-15 03:23:17 +00:00
f24a1c1924 [*] im not even going to switch to a cross arch to assume this isnt going to compile
(actually it looked even worse under compiler explorer. this patch is much better)
2023-03-15 03:12:10 +00:00
e88718a48b [*] Windows 7 optimization [?] 2023-03-15 02:38:26 +00:00
2fc4564f5d [*] Amend legacy primitive 2023-03-15 01:03:42 +00:00
13028d767b [*] Cleanup optimization commit 2023-03-15 00:48:37 +00:00
046b70d7bc [*] [Pre-Win8.1] Optimize for modern nt instead of windows vista synch in legacy path; yes, this is how windows 7 and vista synch is somewhat implemented.
...on apis that predate those kernel revisions. so, technically this might be able to run on xp.
[*] GetThreadCookie optimization for all platforms
2023-03-15 00:35:29 +00:00
14c7d538e1 [*] Fix up modern WakeOnAddress fast path, of, well, WakeOnAddress
[*] Clean up AuEvent
[*] Dropped default spin power
2023-03-13 23:57:32 +00:00
2745ef23a0 [+] Brotli [de]compressor 2023-03-12 21:03:47 +00:00
1ba0519d8d [*] Amended UNIX yield paths 2023-03-12 20:59:03 +00:00
e82ec4a343 [+] IWaitable::LockNS(...)
[+] AuThreading.WakeAllOnAddress
[+] AuThreading.WakeOnAddress
[+] AuThreading.WakeNOnAddress
[+] AuThreading.TryWaitOnAddress
[+] AuThreading.WaitOnAddress
[*] Further optimize synch primitives
[+] AuThreadPrimitives::RWRenterableLock
2023-03-12 15:27:28 +00:00
64af4d0fa8 [+] AuAsync::IThreadPool::PollAndCount
[+] AuAsync::IThreadPool::RunAllPending
2023-03-05 12:55:07 +00:00
a550a6f58f [*] Harden normalize path 2023-03-05 09:16:09 +00:00
3e7e5e769a [*] Selection key spam crash bugfix 2023-02-17 22:27:24 +00:00
eb13a3c0d1 [*] Added missing signal redraws 2023-02-17 20:44:01 +00:00
fc097de2da [+] Initial unified handling of control, shift, selection, backspace handling under ConsoleTTY 2023-02-17 19:42:30 +00:00
d2ad4cd10d [*] Solve another deadlock race condition under SysShutdown 2023-02-17 04:44:17 +00:00
eb4e40d548 [*] Updated deinit 2023-02-16 18:44:28 +00:00
7223071877 [*] Updated EP 2023-02-16 18:30:56 +00:00
88b0270435 [+] Broke out NT LoadLibrarys to a dedicated root AuProcAddesses.[NT.]hpp 2023-02-16 16:01:21 +00:00
c4fae31057 [*] Another shutdown "fix" 2023-02-16 01:01:21 +00:00
1cd2d82093 [*] Fix shutdown races under V8 + JS + Gtk branch 2023-02-16 00:45:10 +00:00
9d71b5c04f [*] Found another race condition 2023-02-11 19:37:30 +00:00
ba9ddded75 [*] fix crash in an empty unit test on deinit 2023-02-09 19:28:01 +00:00
25ffeec543 [*] Revert last commit. Doing the correct thing just resulted in the console not being flushed 100% of the time.
Oh well, i'll investigate later. This should help.
2023-02-09 13:08:13 +00:00
cb920e1ee1 [*] Win32: Delegate last nights hack before bed to grug
(unix parity)
2023-02-09 12:37:32 +00:00
76069f2b43 [+] Win32: updated exit handler to include the exit button and shutdown 2023-02-09 00:53:12 +00:00
fa9f190635 [+] Missing Win32 exit handler. I was dumb enough to rely on the debug exception
[*] ...no this wont do for now
2023-02-09 00:42:56 +00:00
8293484a86 [*] Reworked AuAsync ThreadPool shutdown (again)
[*] Fixed nested lock under WorkItem
2023-02-08 18:23:37 +00:00
75c37f4e55 [*] Fix consoletty (the console) and the thread racing on exiting causing a deadlock 2023-02-06 05:14:01 +00:00
8b6c93fba9 [*] Fix: ThreadPool::ResolveHandle throws null 2023-02-06 04:07:54 +00:00
013c1a00bd [*] Updated ConsoleFIO for the first time in a very long time 2023-02-05 14:28:03 +00:00
1e4971342d [*] big dumb 2023-02-04 19:46:35 +00:00
f43251c8fc [+] AuNet::ISocketChannelEventListener
[+] AuFS::UpdateTimes
[+] AuFS::UpdateFileTimes
[+] AuFS::CompressEx
[*] AuFS::Compress now rejects files that look to be already compressed
[+] AuFS::DecompressEx
[+] AuFS::Create
[+] AuFS::WriteNewFile
[+] AuFS::WriteNewString
[+] AuFs::FileAttrsList
[+] AuFs::FileAttrsGet
[+] AuFs::FileAttrsSet
[+] DirectoryLogger::uMaxLogsOrZeroBeforeCompress
[+] ISocketChannel.AddEventListener
[+] ISocketChannel.AddEventListener
[+] DirectoryLogger.uMaxLogsOrZeroBeforeCompress
[*] Fix UNIX regression
[*] Fix up stream socket channel realloc IPC
[*] Fix shutdown regression in pretty much everything thanks to 8ff81df1's dumbass fix
    (fixes fence regression on shutdown)
[*] Fix DirDeleterEx formatting of reported failed paths
[*] Fix up file not truncated if already exists bugs. Extended and alternative apis added.
[*] Fix ICompressionStream::ReadEx returning the wrong read value
[+] Legacy compression API can now self-correct once newer stream processor objects are added
2023-02-04 19:43:01 +00:00
7d46679969 [*] Fix RWLock regression in previous commit: (8ff81df1)
...despite being under lock for lock paths, we now need everything to be atomic.
[*] ...fixed monotonic timeouts under rwlock
2023-01-30 16:48:40 +00:00
8ff81df129 [*] Fix deadlock involving WaitFor under ThreadPool (shutdown race)
[*] Optimize mutex lock out of RWLockImpl::TryLockWrite
[*] Force all relevant members of RWLockImpl to be volatile just bc lol (afaik we cant justify it yet; however, i want to minimalize the risk of future issues in this type)
2023-01-30 14:35:48 +00:00
51a2816f3f [*] Merge GTK JS's branch fix for async shutdown
[+] IConditionMutex::TryLock()
... Timed is still too much of an ask for this interface, i think. There's a good reason as to why this isn't a iwaitable. This condvar interface must be as common and primitive as possible.
2023-01-30 13:26:17 +00:00
2474566d80 [*] two hotfixes 2023-01-29 23:03:54 +00:00
04aca5fcf2 [+] Aurora::IO::Net::NetSocketConnectByHost
[+] Aurora::IO::FS::DirDeleterEx
[+] Aurora::IO::Compress
[+] Aurora::IO::Decompress
[*] Aurora::Memory::ByteBuffer zero-alloc fixes
[*] Aurora::Memory::ByteBuffer linear read of begin/end should return (`const AuUInt8 *`)'s
[*] Changed NT file CREATE flags
[*] Fix linux regression
[*] Update logger sink DirLogArchive
... [+] DirectoryLogger::uMaxLogsOrZeroBeforeDelete
... [+] DirectoryLogger::uMaxCumulativeFileSizeInMiBOrZeroBeforeDelete
... [+] DirectoryLogger::uMaxCumulativeFileSizeInMiBOrZeroBeforeCompress
... [+] DirectoryLogger::uMaxFileTimeInDeltaMSOrZeroBeforeCompress
... [+] DirectoryLogger::uMaxFileTimeInDeltaMSOrZeroBeforeDelete
[*] FIX: BufferedLineReader was taking the wrong end head
(prep) LZMACompressor
[*] Updated build-script for LZMA (when i can be bothered to impl it)
(prep) FSOverlappedUtilities
(prep) FSDefaultOverlappedWorkerThread | default worker pool / apc dispatcher / auasync dispatcher concept for higher level overlapped ops
(stub) [+] Aurora::IO::FS::OverlappedForceDelegatedIO
(stub) [+] Aurora::IO::FS::OverlappedCompress
(stub) [+] Aurora::IO::FS::OverlappedDecompress
(stub) [+] Aurora::IO::FS::OverlappedWrite
(stub) [+] Aurora::IO::FS::OverlappedRead
(stub) [+] Aurora::IO::FS::OverlappedStat
(stub) [+] Aurora::IO::FS::OverlappedCopy
(stub) [+] Aurora::IO::FS::OverlappedRelink
(stub) [+] Aurora::IO::FS::OverlappedTrustFile
(stub) [+] Aurora::IO::FS::OverlappedBlockFile
(stub) [+] Aurora::IO::FS::OverlappedUnblockFile
(stub) [+] Aurora::IO::FS::OverlappedDelete
2023-01-26 21:43:19 +00:00
bf8c1eb8c7 [+] AuFS::TrustFile
[+] AuFS::UnblockFile
[+] AuFS::TrustFile
[*] Fixup UNIX open logic a bit

(amended. i did not mess up octals >:( )
2023-01-25 16:50:53 +00:00
d4dfe22c6c [+] Always expand directory tree when attempting to copy or move files, just like every other FIO create operation.
[*] ~~Fix improper yield BlockUntilComplete on NewFence~~, kind of, not really. Wasn't really a bug. Might've introduced more overhead. Might revert.
2023-01-23 21:18:58 +00:00
d780df6ceb [*] Transition legacy pre-steady clock calls to steady time
[*] Improved e-core throttling logic under systems without ecores
2023-01-23 15:27:58 +00:00
124038df62 [*] Refactor public headers
[+] AuConsole::Commands::RemoveCommand
[+] EExtendedUsage::eServerAuth
[+] SysPanic2 for SysSafeLine hints (backtrace may contain optimized SysPanics, making tracing the true origin difficult)
[*] Reworked SysAssertions
[*] AuParse::EncodeHex now takes AuMemoryViewRead
[*] AuRng::ReadSecureRNG now takes AuMemoryViewWrite
[*] AuRng::ReadFastRNG now takes AuMemoryViewWrite
2023-01-15 06:05:22 +00:00
fbca5f22c5 Regression in: d1451142 2022-12-29 21:02:58 +00:00
0cdbc34c06 [*] Optimize allocations out of RWLock
[*] Fix linux regression
2022-12-29 09:42:02 +00:00
d14511429a [*] Optimize event primitive 2022-12-29 00:02:56 +00:00
2209aeb7a8 [+] Linux: semaphores and mutexes directly over futexes. Move UNIX pthread condvar mutex into the condvar mutex class.
[*] BSD: Rewrote fundamentally flawed pthread_mutex class code to use MONOTONIC clock time
[+] Linus SwInfo: Added enterprise check for RedHat
2022-12-28 23:44:45 +00:00
87194ac1ea [+] Linux: add missing parse for uUserlandXXX version numbers for non-rolling distros.
[+] Fallback /usr/lib/os-release file reference
2022-12-28 21:14:52 +00:00
dcc9205ea6 [+] IRandomDevice::ToSeed() 2022-12-28 20:30:15 +00:00
dbbcd14b57 [*] Optimize for Win8.1 scheduler that can bypass SRW CVs
[*] Update readme
2022-12-28 10:50:30 +00:00
6e78ce5e07 [*] UNIX benchmarks: follow CLOCK_PROCESS_CPUTIME_ID time 2022-12-27 19:41:52 +00:00
0be7c13e1b [*] consoletty pos calculation fix 2022-12-27 15:17:34 +00:00
15c7df1480 [*] Disable telemetry reporting after runtime shutdown to prevent null exceptions from being reported under TLS. Fixes deadlock and a crash. 2022-12-21 23:37:41 +00:00
a1e77a471b [*] Dumb path bug 2022-12-21 14:27:26 +00:00
4e6f116925 [*] Refactor
[+] IProcessSectionView::GetStart
[+] IProcessSectionView::GetEnd
2022-12-17 20:14:19 +00:00
9ce314a838 [*] Linux DirMks shall copy the stat of the parent dir before assuming 775.
[*] Added missing null allocation checks under linux net adapter list
2022-12-17 15:37:46 +00:00
6f6be5c545 [+] Linux: missing AuNet adapter API
[*] Update README
2022-12-17 13:57:00 +00:00
1e4082c02f [+] Linux datagrams
[+] NetSocketBind::uDefaultInputStreamSize
[+] NetDatagramBind::uDefaultInputStreamSize
2022-12-16 17:18:12 +00:00
42d02b185c [*] Linux fault: LTC/Clang driver bug? _multi encode variant results in inexplicable given a SEQUENCE after seemingly anything.
Faults on bool deref under encode boolean.
2022-12-16 07:04:11 +00:00
f0fcec0cb7 [+] _CLOEXEC on F-tier operating systems predating SMP and processes 2022-12-16 03:48:04 +00:00
766be57a46 [+] Linux build [again]
[+] ProcessSectionViewReserved.Unix.cpp
[*] Fix missing ::Flush() member on ViewWriter
2022-12-16 00:41:01 +00:00
2b91302128 [*] remove half-removed expression and readd missing cache clear 2022-12-15 01:54:49 +00:00
85a575eb95 [+] Network interfaces API
[+] Logger IFormatter API
[*] Clean up
2022-12-14 20:08:52 +00:00
c79a20c7fe [*] i hate object cache 2022-12-14 07:12:43 +00:00
c42ebc9853 [*] Improved cache reporting under NT under various conditions
new hw: return upper bound of range at level index.
old sw: missing impl.
2022-12-14 05:25:05 +00:00
49287f2a73 [*] Minor cleanup/refactor 2022-12-14 05:03:37 +00:00
cbad382b6a [+] Windows 7 support 2022-12-14 01:35:18 +00:00