75f6325ee2
[*] Linux: fix spinning in an io_submit=EAGAIN loop
2024-08-05 04:32:52 +01:00
5947e6a2c3
[*/+] Added internal AuLoop::WaitMultipleOrObjects function for POSIX Issue4+ users, excluding the BSDs, to optimize AuLoop::WaitForMultipleObject users. (Win32 and Xbox emulators).
...
This mitigates the epoll allocation / release under Linux.
2024-08-02 02:23:19 +01:00
67c4cdbee0
[*] TODO: fix int on both platforms
2024-08-01 13:33:36 +01:00
cc01b0557a
[*] Improve ILoopQueue::WaitAll parity (been on the todo list for, idk, 3 years)
2024-08-01 12:55:08 +01:00
c6ce29a188
[*] AuProcess on linux: use AuParse instead of strtoll
2024-08-01 11:41:44 +01:00
2274b7f624
[*] Fix: AuParse parse ints should fail on an empty/null/0-length range instead of parsing nothing and returning true
2024-08-01 11:41:07 +01:00
3c846a2ea7
[*] Fix bcrypt compilation regression
2024-08-01 11:40:10 +01:00
8545c59cba
[*] Amend: 5cafefae
bad linux optimization (?)
2024-07-31 12:02:31 +01:00
5cafefae5d
[*] LSLocalSemaphore bug fix for scriptability. (TODO: reimpl like the event?)
...
[*] Fix: IO objects not using the explicit slow sync primitives.
Dunno how these werent refactored; then again, i never properly got around to finishing the factories for fast/slow io objects. In addition, some of these arent even accessed by the ILoopSource interface, so it's not as critical of a failure.
2024-07-30 17:53:58 +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
c57a90929a
[*] Build regression
2024-07-16 00:54:07 +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
f2acc253b7
[*] Amend [*] Linux: Update antidbus message for clarity
2024-07-15 00:12:53 +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
46ef3231a2
[*] Change how the default work completion group for an AuAsync threads is created and kept alive
2024-07-12 20:40:05 +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
2b2f5c3d23
[*] Win32: added nvme pcie check under fs devices
2024-07-12 16:22:26 +01:00
d9230ec9c3
[*] Fix NT regression whilst working on a POSIX path bug ( 3143f3d2
)
2024-07-12 16:16:12 +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
ac69c4c2ff
[*] Update path notes in readme
2024-07-06 15:13:15 +01:00
c6e6c1c433
[+] Added Linux FSPlatformDevices implementation
2024-07-05 10:39:24 +01:00
4ab5b4cba7
[*] After just shy of 1y, introduce FS devices into the default include tree. Linux will be brought up soon enough
2024-07-04 23:27:04 +01:00
3143f3d2eb
[*] Handling of edge case special dirs under Torbalds OS
2024-07-04 18:54:55 +01:00
937016e9f3
[*] Harden awaiting unlock via RuntimeWaitForSecondaryTick() usage under linux
2024-07-03 20:07:59 +01:00
cb69a7e737
[*] Solve two Linux regressions introduced/poorly worked around in: e7597b8463
, 592afe00a7
2024-07-02 05:16:49 +01:00
e7597b8463
[+] Added basic posix name resolution for when glibc isnt present or when being built on non-glibc toolchains
2024-07-01 12:37:38 +01:00
592afe00a7
[*] AuNet: Missing Linux TODO block; harden two callbacks missing a try/catch
2024-07-01 11:54:18 +01:00
3bae761e50
[*] AuIO harden
2024-07-01 11:52:12 +01:00
8fc20bcc11
[*] Updated XP note
2024-06-30 09:45:07 +01:00
f2e3ceef99
[+] Au[Futex]Countdown
2024-06-30 05:40:13 +01:00
0555e8cc32
[*] Update: WakeOnAddress.hpp comments
2024-06-30 05:13:55 +01:00
fa900d0f78
[*] Linux: Update antidbus message for clarity
2024-06-30 04:40:37 +01:00
a1672a33d7
[*] Linux alternative dynamic loader: AuProcess main process path has to be pulled from the procmap instead of arg[0]
2024-06-29 16:06:42 +01:00
05737d61fe
[*] Linux hack: drop arg[0] when the string contains ld-Aurora
2024-06-29 14:32:20 +01:00
bd034aec31
[*] AuOSThread harden set piro and name against race conditions
...
amend: i didnt want to lock so deep of a callstack, but oh well.
amend: win32 regression
2024-06-29 07:33:30 +01:00
27b18c0a37
[+] MemoryView::ToSharedControlBlock
...
[+] et al
2024-06-29 01:12:07 +01:00
035d822ec1
[*] Explicit memory order access barrier when reading WOA_SEMAPHORE_MODE-less bAlive under weakly ordered systems. ( 5b193411
cont: "[*] Improve regressed AuWoA time to wake"
...
In all other cases, the memory is either thread-local write-local or followed up by an indirect aquire/release of the processors pipeline and L1 cache by virtue of the containers dumb spinlock ::Lock, ::Unlock (...release, ...barrier)
Clang doesn't have /volatile:ms anymore so we cant rely on that
Assuming MSVC-like or x86 isnt good enough
(and, no retard midwits, volatile is a fine keyword. take ur spec sperging and shove it. i just need to control over-optimization of defacto-weakly ordered access between explicit lockless semaphore yields)
2024-06-23 04:29:21 +01:00
114976a71d
[*] im a smort boi
2024-06-19 22:17:55 +01:00
5b19341186
[*] Improve regressed AuWoA time to wake
2024-06-19 22:05:17 +01:00