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
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
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
3d652ed605
[*] af5c8e86c0
20hrs ago: AuSPtr<AuMemoryViewXXX>s werent fully eliminated
2024-07-13 16:34:44 +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
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
c6e6c1c433
[+] Added Linux FSPlatformDevices implementation
2024-07-05 10:39:24 +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
ba36ea4ef1
[+] Added AuOptional<AuUInt> optMaxRecursion to AuFS::ReadDirRecursive
2024-05-19 17:12:14 +01:00
631624dc55
[*] Linux build regressions, and shrink the size of Linux RWLocks to 48 bytes from 64
2024-05-07 14:57:19 +01:00
134816e128
[*] Optimize primitives SMTYield for Alderlake+ user-space, BIOS-ring mwait, and AARCH
2024-05-03 12:22:38 +01:00
b88e28aea0
[*] IOPipeWork completion group problem
2024-04-22 02:51:17 +01:00
579185ec10
[*] Harden AuIOAdapterAsyncStream
2024-04-21 13:23:58 +01:00
c26eaf86a7
[*] Minor UWP progress
2024-04-21 11:52:24 +01:00
85cf7d7a4c
[*] Missed u
2024-04-20 02:54:31 +01:00
e7d9df3cab
[*] Improve alt-AuString allocator awareness
2024-04-20 02:29:49 +01:00
83f34b0c47
[*] I was right. String views are [mostly] pointless (*)
...
03:28:55:638 17>2 of 53388 functions (<0.1%) were compiled, the rest were copied from previous compilation.
03:28:55:638 17> 0 functions were new in current compilation
03:28:55:638 17> 65 functions had inline decision re-evaluated but remain unchanged
03:28:56:749 17>Finished generating code
the header of const AuString & is the same as std::string_view therefore nothing changes. in fact, we still need to alloc strings a bunch of times for a zero terminated string. worse, <c++20 always allocs each time we want to access a hashmap with o(1) lookup, making small hashmaps kinda pointless when we always have to alloc+copy (thx std)
perhaps this will help some language binders
2024-04-19 05:58:08 +01:00
528cb01679
[*] INetAdapter refactor: lets not assume all adapters have IP addresses
2024-04-14 22:02:38 +01:00
1bb3197941
[*] Amend a0875950
2024-04-10 08:20:47 +01:00
a087595009
[*] Minor tweaks + more not-so-lazy loads in case of uwp
2024-04-10 00:09:21 +01:00
a300076c6d
[*] Refactor: INetAdapter::GetDNS() now returns a const reference
2024-04-01 06:44:20 +01:00
2a2e40fc8c
[*] Refactor ENetworkAdapterType->EAdapterType
...
[*] Refactor ENetworkAdapterStatus->EAdapterStatus
2024-04-01 06:41:51 +01:00
2717178681
[+] Added INetworkInterface overloads
...
[+] INetInterface::SetWorkersService
[+] INetInterface::SetResolveService
[+] INetInterface::SetDatagramService
[+] INetInterface::SetInterfacesService
[*] Refactor: INetAdapter::GetStatus -> INetAdapter::GetAdapterStatus
[*] Refactor: const NetError &ISocketBase::GetError() -> AuOptional<const NetError &> ISocketBase::GetError()
[*] Refactor: INetAdapter to return const references of IPAddresses
2024-04-01 06:28:35 +01:00
5668188945
[*] Harden IO handle interface
2024-03-31 09:26:56 +01:00
263ca6e646
[*] Amend FileStream::Close ( 232a136b
)
2024-03-27 15:40:13 +00:00
232a136bfe
[+] IOHandle::IsWriteEoSOnClose
...
[+] IOHandle::SetWriteEoSOnClose
[+] IOHandle::HandleCreate::bFlushOnClose
[+] IOHandle::HandleCreate::bWriteEoSOnClose
[*] Unified grug based auto-truncating. Previously we were truncating on the final derefing thread; now, we truncate on the grug thread.
[*] Refactor/Cleanup IOHandle
2024-03-27 03:15:01 +00:00
782d788531
[*] Drop stupid write stream semantics
2024-03-22 13:57:39 +00:00
c87ec4e4b6
[*] Linux build regressions
2024-03-21 00:32:13 +00:00
d6ac05054e
[*] Update prototype: AuFS::ReadDirRecursive(const AuString &string, AuOptional<bool> bTraverseSymlinks)
...
[+] AuUInt32 AuFS::IReadDir::GetErrorCount()
[+] AuList<AuString> AuFS::IReadDir::GetErrorPaths()
2024-03-19 18:08:54 +00:00
c54ac9d6a3
[+] AuFS::ReadFileHeader
2024-03-18 05:58:20 +00:00
81d7c7027c
[*] Cont work on AuIOHandle cleanup
2024-03-16 09:51:41 +00:00
1263434bb7
[+] bool IIOHandle::InitFromHandleCopy(const IIOHandle *pHandle)
2024-03-15 13:34:01 +00:00
25b1a9cad6
[*] Thread-safety: harden io file streams and improve construction api of OpenBlockingFileStreamFromHandle
2024-03-15 08:50:52 +00:00
ccc4116394
[*] PosixShutup for AuProcesses::OpenXXXX and two minor bug fixes
2024-03-15 06:19:30 +00:00
b3f1ef8bc2
[*] Fix recent regression in f401c6f750
and fix two ignored return values
2024-03-14 01:22:20 +00:00
dbd2ec78b3
[*] harden dir traversal for removal
2024-03-13 10:08:38 +00:00
3f265cf19b
[*] IOHandle is now 192 bytes
...
[*] Autohandle duplication
2024-03-13 07:50:50 +00:00