18c023acae
[*] Suppress spurious IO wakeups in WaitSingleBase
2023-10-21 06:19:51 +01:00
60bb1020ce
[+] bool WaitMultipleLoopSources(const AuList<AuSPtr<Loop::ILoopSource>> &lsList,
...
AuList<AuSPtr<Loop::ILoopSource>> &signaled,
bool bAny = true,
AuOptionalEx<AuUInt32> uTimeoutMS = 0);
2023-10-21 06:10:33 +01:00
e366d058f6
[*] Fix busted timeout calc in the previous two commits
2023-10-21 05:41:29 +01:00
186444853d
[+] LSLocalSemaphore (faster io semaphore)
2023-10-21 04:59:05 +01:00
1589079ead
[+] LSLocalMutex (faster io mutex)
2023-10-21 04:51:51 +01:00
bd69ad6739
[+] IPCPipe::ToFileStream
...
[+] IPCPipe::ToStreamReader
[+] IPCPipe::ToStreamWriter
2023-10-20 16:33:18 +01:00
88094c48ae
[*] Harden pipe reads under FS streams
2023-10-20 11:37:52 +01:00
871479172b
[+] AuIPC::NewPipeEx(AuUInt32 uPipeLength)
2023-10-20 10:48:10 +01:00
c8f3305669
[*] Address a number of NT/x86_32 build regressions
2023-10-17 03:08:29 +01:00
6bb5dd39f2
[*] 358964ef
cont: realloc event callbacks not fired
2023-10-16 04:03:19 +01:00
f53ea2a0a7
[*] 240685f7
cont: datagram channel missing [G/S]etNextFrameTargetLength
2023-10-16 03:20:28 +01:00
4742d2b9e7
[*] Missing iStartTickMS_ assignment
2023-10-16 02:18:12 +01:00
358964efb0
[+] IIOPipeEventListener::OnPipeFailureEvent
2023-10-16 01:56:28 +01:00
240685f7a6
[+] ISocketChannel::GetNextFrameTargetLength
...
[+] ISocketChannel::SetNextFrameTargetLength
2023-10-16 01:48:09 +01:00
cb60e77c63
[+] IIOPipeWork::SetNextFrameTargetLength
...
[+] IIOPipeWork::GetNextFrameTargetLength
[+] IIOPipeWork::GetNextFrameTargetLength
[+] IIOPipeWork::ReallocateLater
[+] IIOPipeWork::GetSuccessfulReallocations
[+] IIOPipeWork::GetFailedReallocations
[+] IIOPipeWork::DidLastReallocFail
(will save net and engine from doing its their current hacks)
2023-10-16 01:47:22 +01:00
be60d2c80d
[+} NewMemoryViewReadAdapter
...
[+] NewMemoryViewLinearSeekableAdapter
[+] NewMemoryViewWriteAdapter
2023-10-13 21:08:57 +01:00
4a0eeefe1b
[+] AuFS::MoveDirectory
2023-10-13 18:11:49 +01:00
c52c1c89f1
[+] AuFS::CopyDirectory
2023-10-13 18:04:47 +01:00
44afa1e3de
[*] Disable this perf hack for now
2023-10-13 17:00:51 +01:00
7db0e2e688
[*] Drop all static references to User32.dll
2023-10-13 00:10:44 +01:00
ff77873ad6
[*] Further reduce win32 link time requirements (advanced api)
2023-10-11 02:13:49 +01:00
48c2175be9
[+] IProtocolStack::AppendInterceptorDynamicBuffer
...
[+] IProtocolStack::PrependInterceptorDynamicBuffer
[+] IProtocolStack::PrependSingleFrameProcessorDynamicBuffer
[+] IProtocolStack::AppendSingleFrameProcessorDynamicBuffer
[+] IProtocolStack::IsValid
[+] IProtocolPiece::ExchangeMaximumBufferLength
2023-10-07 20:25:43 +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
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
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
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
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
5ef6e0cd23
[*] Fix IO Processor regression, circa WorkerPId_t behaviour change.
...
[*] Fix minor Linux SOCK_CLOEXEC issue
2023-09-18 19:04:09 +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
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
9a294cf955
[*] (Mostly Linux) Harden FS apis
2023-09-16 01:20:28 +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
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
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
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
6181d97c3c
[*] Improve internal path consistency
...
[*] Removes some unnecessary panics
2023-09-12 20:49:02 +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
5107911ba5
[*] Exploit mitigation - file protocols can be valid paths
2023-09-10 16:30:59 +01:00
51dcd190b3
[*] Missing SysPushErrorXXXs
2023-09-07 23:20:26 +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
5b9e780fa0
[*] Fix some obvious recent regressions in NT loop queue
2023-09-02 19:36:12 +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
85102ec7ce
[*] Minor NT LoopQueue fixes/improvements
2023-09-02 04:56:41 +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
9fcc62fb92
[*] Always check adapter info length
2023-08-29 16:31:39 +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
b2e1df8f72
[*] Annoying Linux checks
2023-08-27 21:35:40 +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
cf363b9f5b
[*] Ensure this never throws
2023-08-22 09:45:32 +01:00
e6bf022bef
[*] Atomic SOCK_CLOEXEC-awareness on some UNIX systems
2023-08-19 15:06:59 +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
ebce7e0048
[*] Alternative solution for FOLDERID_UserProgramFiles when targeting <= Windows Vista
2023-08-18 18:38:11 +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
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
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
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
c85d65aa59
[*] NT: these file handles must be marked async if reimported
2023-07-30 14:27:33 +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
a8daf3ff4f
[*] Minor failover fix (Nt delete on close)
2023-07-29 09:48:18 +01:00
9ce4e08d36
[+] IFileStream::GetHandle()
2023-07-29 09:13:43 +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
7fa0a52e2c
[*] Fix FS Watcher under Windows XP -> Windows 7
2023-07-28 14:20:45 +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
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
627bdddfdc
[*] Ensure AuProcAddresses.NT.* is used for all dynamically linked symbols
2023-07-09 10:03:29 +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
e9e72dce09
[+] UDP-as-sockets send channel
2023-07-04 15:17:00 +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
4c72a20ba2
[*] Win32: required to prevent leaks when invoked by Qt (todo: proper journaling of pending actions)
2023-06-24 17:41:09 +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
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
4a584ce73a
[+] Future proof IProtocolInterceptorEx with an optional pParent
in the only Aurora Interface methods last argument
2023-06-10 20:33:19 +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
b7de15d78e
[*] tweak LoopQueue.nt.cpp
...
[*] bug fixes for running Qt alongside GTK and other loops
2023-05-16 17:11:59 +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
2fdf730263
[*] Stats now return nanoseconds timestamps
2023-05-03 08:57:21 +01:00
6683d3cfdc
[+] IProtocolPiece.GetNextPiece
...
[+] IProtocolPiece.ReallocateDrainBuffer
[*] Harden protocol piece use after destroy
2023-04-29 07:00:29 +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