ec4b47c15d
[*] Increase IPCHandle checksum bitlength
2022-07-21 07:30:25 +01:00
e24c35d2d0
[*] fix ipc handle checksum rng
2022-07-21 07:25:45 +01:00
febd836d99
[+] Improved IPCHandle implementation
2022-07-21 07:19:45 +01:00
cb2b58eb52
[+] bool Aurora::Console::ConsoleStd::IsStdOutTTY[(AuUInt handle), ()]]
...
[+] Check for TTY validity on ConsoleTTY start
2022-07-21 01:25:38 +01:00
ad4c18abe7
[+] Missing LZ4 compressor
...
[*] Various compression related bugs under the 1/4th of the AuCompression platform related to compression stream objects. Now all 1/4ths match up.
2022-07-20 21:09:40 +01:00
8fb7b7e1ee
[*] IOPipeProcessor improvements
...
[*] NT async file: error 38 "Reached the end of the file." should be handled as a zero length packet much like ERROR_BROKEN_PIPE for stream read interface consistency
2022-07-20 15:10:07 +01:00
433898709e
[*] Check for null handle under LSHandle bc win32 apis are inconsistent as shit
...
[*] _beginthreadex returns null, nonex returns -1, and it doesnt fucking work with affinity but seems to work with name updates. i dont care to fix this yet. fuck microsoft.
[*] NT: preempt process watch thread of leaders instead of syncing to the process under a watch guard on free (evil, we should use a builtin nt threadpool. also cant be arsed to resolve)
2022-07-08 22:58:49 +01:00
11e5c04bac
[*] Update AuParse again. The IO character update was barely shimed in.
2022-07-07 06:42:20 +01:00
f2791e360b
[+] Added end of loop queue poll hook for IO Processor frame tick batching
2022-07-06 04:47:27 +01:00
7fb73ccdb4
[+] IPC Logger: Added optional stream frame header (single u32) option
...
[*] FIX: Missing `this->isStream = isStream;`
[*] FIX: Blocking APIs under async objects under NT were using illegal calls that were for some reason not failing
2022-07-05 20:48:33 +01:00
c20b802da7
[*] "Improve" (bug fix) and "clean up" (hardly) legacy simple parse list tokenizer
2022-07-05 05:58:27 +01:00
97069a1515
[*] Undo fail on pipe broken, restore bytes written = zero behavior for reusable pipes. Will match on Linux.
2022-07-05 04:17:28 +01:00
c0ee48435c
[*] More IO bug fixes; a double free, statement that should be uncommented, and wrong IO handle under Async.NT.cpp read
2022-07-04 23:42:02 +01:00
ee07505952
[*] Fix win32 cwd under processes
2022-07-04 03:24:34 +01:00
f8c45613a1
[*] I'm a dumbass. This was accounted for a long ass time ago
2022-06-29 21:50:37 +01:00
bc1296a35c
[*] Deprecate NT impl of latching completeness of async transactions
2022-06-29 19:47:32 +01:00
803f097f84
[*] Typos and comments
2022-06-29 14:56:59 +01:00
70418df761
[+] Added extended IO apis
...
> StartSimpleLSWatchEx
> StartSimpleIOWatchEx
> StartIOWatchEx
[*] Update README
2022-06-28 16:04:07 +01:00
250d3fd11e
[*] Passive crinkling of today : Async.NT.cpp can now be aborted. Will port identical behavior to Linux.
2022-06-24 20:33:55 +01:00
bf6f13095c
[*] Linux builds again. Still behind
2022-06-23 13:25:20 +01:00
3a76aa6d69
[*] Fix IOPipeProcessor was checking against base + length instead of write head to determine stream consumer completion
...
[*] Fixup IPCPipe.NT recycling, including proper disconnect acknowledgment and removal of atomic release hack
[*] End of stream callback hack in Async.NT for IPC. net requires something else; this hack will do
[*] Fix io spin: bShouldReadNext wasn't reset on end of frame
2022-06-22 21:24:04 +01:00
0c3344fe46
[+] IIOSimpleEventListener
...
[+] IOProcessor::StartSimpleIOWatch(const AuSPtr<IIOWaitableItem> &object, const AuSPtr<IIOSimpleEventListener> &listener)
[+] IOProcessor::StartSimpleLSWatch(const AuSPtr<Loop::ILoopSource> &source, const AuSPtr<IIOSimpleEventListener> &listener)
[*] IOAdapterAsyncStream should reset the transactions IO state upon reaching end of segment (should this be per tick?) or upon stream error - otherwise, we end up spinning on a stuck event forever
[*] Fix non-linear path under read of the AuByteBuffer
[*] Fix various other nonlinear conditions under AuByteBuffer
[*] IOProcessor releases registered io item from queue upon request
[*] Fix ConsoleMessage::Write -> enumeration of color should be casted to a uint8
[+] Error telemetry under async task creation
[*] Fix various lock ups and non-blocking spins related to erroneous InternalRunOne impl. Residual preemptive batching was fucking with modern io.
[*] Cleanup TaskFrom/JobFrom. More work required to clean up legacy piss
2022-06-22 14:42:17 +01:00
7ea75b4014
[*] Until its not
2022-06-21 07:12:11 +01:00
7fde7d04fb
[+] EPipeCallbackType
...
[+] IIOBufferedStreamAvailable callback
[+] IIOProcessor singleshot work items / IIOProcessorWorkUnit
[+] IOPipeCallback description of a pipes destination
[+] IOPipeInputData description of a pipes source
[+] IOPipeRequest, IOPipeRequestAIO, IOPipeRequestBasic
[+] IPipeBackend hooks for on start/end hooks of IOPipeRequestBasics
[*] Update IOAdapaterAsyncStream implementation to better support caller buffering
[*] Updated IAsyncStreamReader to include a warm/dequeue API for direct async usage
[*] Fix NT IO regressions
[*] Fix ThreadPool shutdown on an unregistered thread
[*] Fix race condition in Async.NT.cpp & fix signalable state to closely match Linux (dunno how this was passing before)
[*] Refactor IOProcessorWorkUnit -> IIOProcessorWorkUnit
[*] Update experimental header to include the changes
2022-06-21 05:49:36 +01:00
7432aa5cac
[+] IIPCLogger structure to allow access to the underlying IPC pipe of an ipc logger
2022-06-17 09:22:24 +01:00
3985318566
[+] IPCSink
2022-06-17 00:05:32 +01:00
85cace020a
[*] dumb msvc build error
2022-06-16 02:36:35 +01:00
d47aeda082
[+] EConanonicalInput::eTab
...
[+] if ^::eString, [+] ...isControlSequence, isAltSequence, isShiftSequence
[*] Update semaphore from class to struct types
[*] GetProfileDomain and frens should check the result string length before returning true
2022-06-16 02:29:55 +01:00
9fb9eb4fd2
[*] Amend panic
2022-06-16 01:58:29 +01:00
5aea27d56d
[*] "Improve" win32 AuDebug
2022-06-16 01:51:19 +01:00
942373328c
[*] Refactor exchange TTY function mislabeled as set
2022-06-14 18:33:34 +01:00
a740e86a9a
[*] C warnings
2022-06-14 17:19:22 +01:00
17b1a738ca
[*] Solve a few compiler warnings. Mostly unrealistic u32 <-> u64 casts in element iteration and string operations we can reasonably ignore
2022-06-14 17:12:21 +01:00
f166849e9f
[TODO: BLOCK 2 PROGRESS]
2022-06-14 02:14:51 +01:00
0a2d4cde04
[+] readme.md
2022-06-12 21:18:26 +01:00
8bd7f698e3
[*] Merge branches (includes fixes)
2022-06-12 19:23:18 +01:00
b029f7692f
[*] Linux build errors
2022-06-12 14:53:35 +01:00
5d2b642ac0
[*] Huge refactor - Move Aurora::[IPC and Loop] to Aurora::IO
2022-06-12 01:29:28 +01:00
44108a322e
2/3 of the IO update (very early implementation)
...
[+] TTYConsole::GetPaddingTopOfLog,GetPaddingHeadOfLog,GetPaddingTopOfLog [+ set variants]
[+] IO::IOYield()
[+] IO::IAsyncTransaction::Failed,GetOSErrorCode()
[+] IByteBufferStreamPair
[+] IIOBufferedInterceptor
[+] IIOBufferedProcessor
[+] IIOEventListener
[+] IIOPipeEventListener
[+] IIOProcessorEventListener
[+] IIOProcessorManualInvoker
[+] IIOWaitableIOLoopSource
[+] IIOWaitableIOTimer
[+] IIOWaitableItem
[+] IIOWaitableTickLimiter
[+] IOAdapterAsyncStream
[+] IOAdapterByteBuffer
[+] IOAdapterCompression
[+] IOAdapterSeeking
[*] Cleanup CpuInfo.Linux.cpp
[*] Fixup async threadpool some more
[*] LSTimer.NT.cpp updates timer object on tick state update, akin to Linux
2022-06-12 00:01:27 +01:00
4675be4d78
[*] Fix stupid link error
2022-06-07 05:29:32 +01:00
c93d6033a5
[*] i'm dumb
2022-06-06 22:36:14 +01:00
e29843dc7e
[*] Beyond dumb fio offset issue
2022-06-06 22:34:49 +01:00
a59fc20d56
[+] ConsoleTTY.hpp write cmd history every 10 seconds under sys tick
2022-06-06 22:34:26 +01:00
f4515a7257
[*] Further further MALD
2022-06-03 20:28:08 +01:00
48e1ed80ae
[*] Further malding
2022-06-02 18:05:38 +01:00
a5757c31e0
[*] Cheeky AuThreadPrimitives refactor
2022-06-01 22:49:38 +01:00
b500c0bd5f
[+] Debug config
...
[*] Update legacy macros to modern pipeline under debug
2022-06-01 15:25:32 +01:00
db3f41233b
[*] Solve possible spinlock during exception under conin callback and print
...
[*] Update linkage
2022-05-30 09:46:24 +01:00
c88925fa27
[*] ConsoleTTY flip ux after append
2022-05-28 18:47:51 +01:00
5bafce075a
[*] Dumbdumb moment
2022-05-28 17:21:57 +01:00
77c74f886b
[*] Update IStreamReader/Writer interfaces to be backed by an Aurora Interface
...
[+] Aurora::IO::WriteAll
[*] Improve legacy compression API (pt 2)
2022-05-28 12:18:00 +01:00
25a593cac5
[*] Polyfill legacy compression api into modern io era with IStream[reader/writers]
2022-05-28 10:13:58 +01:00
4bf581cd37
[*] RandomDef explicit default-ctor followed by forced null of the structure to seed with fast rng
2022-05-27 20:45:00 +01:00
e665714341
[*] Bug fix: NT registry read function conflated array length with count
...
[*] Locale convert wchar -> utf count was not respected under non-nt targets
2022-05-26 15:02:23 +01:00
dc59e59e2a
[*] ConsoleTTY: Fix crash on arrow up
2022-05-24 07:09:42 +01:00
87c72a4aad
[+] ConsoleTTY !t and page up/down
2022-05-24 06:58:06 +01:00
f178188b5b
[+] ConsoleTTY !b
to scroll to bottom
2022-05-24 06:37:51 +01:00
670640321d
[*] ConsoleTTY UX
2022-05-23 16:10:19 +01:00
4b5bbe7be4
[*] Adjust console history behaviour
2022-05-20 11:52:30 +01:00
342db487f9
[*] AuAsync invalid self itr upon nested poll
2022-05-20 01:31:58 +01:00
fe88ae9821
[*] Another consoletty bug
2022-05-19 23:40:31 +01:00
19b29b8c08
[*] ConsoleTTY \t processing and reset history line index on enter
2022-05-19 23:28:11 +01:00
81939dd95e
[*] Cursor after history up/down was acting funky. This should fix it.
2022-05-19 04:32:23 +01:00
537ffca394
[+] ConsoleTTY history (unsaved)
2022-05-19 04:21:34 +01:00
4079d471a7
[*] Fix a deadlock in auasync
2022-05-19 04:07:10 +01:00
997c7cb325
[*] Fix text input bugs
2022-05-19 03:47:42 +01:00
10702f0419
[+] Initial Aurora ConsoleTTY shell attempt
2022-05-19 00:12:52 +01:00
59ea8d1c3d
[+] Try/catch around SysPump under async sched
2022-05-18 21:22:58 +01:00
a02bb0aabd
[*] Early internal non-canonical TTY api
2022-05-18 19:14:24 +01:00
6fb3f3a9e5
[*] NT ConsoleTTY -> This is less glitchy
2022-05-18 02:03:53 +01:00
1d859844fd
[*] Amend scroll Y
2022-05-17 17:58:29 +01:00
adcde3b0a3
[+] Internal TTY double buffeirng under NT
...
[+] NT: TTYScrollBuffer
[*] Move TTY under the ConsoleTTY namespace
2022-05-17 17:54:14 +01:00
de504a3a2d
[*] AuAsync: remove illegal static casts
2022-05-17 02:43:40 +01:00
00c82fdbe4
[*] Update WorkItem ::WaitFor
2022-05-17 01:59:19 +01:00
2c1d22ac13
[*] Missing AU_LOCK_GUARD in IWorkItem::WaitFor non-array variant
2022-05-17 00:46:25 +01:00
286ae14a7b
[*] Refactor WorkItemHandler EProcessNext -> ETickType
...
[*] AuAsync aue 1 regression
2022-05-17 00:41:27 +01:00
24fc2fd90d
[*] Reset hashstream lock state on import/reset
2022-05-14 23:34:25 +01:00
d0c4d8cb33
Hash API polish
...
[+] Added IHashStream::Export
[+] Added IHashStream::Import
[+] Added IHashStream::Finalize (versus "deprecated" older api)
[+] Added EHashType eMD4, eRMD128, eRMD160, eRMD256, eRMD320
2022-05-14 21:06:46 +01:00
f182ecd986
[+] Added IOSleep.* files, API: AuIO::WaitFor(ms, waitEntireFrame)
2022-05-13 21:02:19 +01:00
86ac108f11
[*] Move AuIO::WaitMultiple
...
[+] AuIO::WaitMultiple2
2022-05-13 19:25:29 +01:00
021959bdfc
[+] Harden linux sleep against interrupts
2022-05-13 18:53:20 +01:00
2ecaef35fb
[+] Higher-res sleep under NT w/ NtDelayExecution
2022-05-13 18:44:44 +01:00
ede223e955
[*] NT build regression from Linux land
2022-05-13 15:07:53 +01:00
23e922a396
[+] ConsoleTTY.Unix.cpp port. ConsoleTTY.cpp soon ™️
2022-05-13 13:01:49 +01:00
5ae5950bd9
[*] Bug fix: select 0 should be an error under such NB is-signaled paths
2022-05-13 12:51:00 +01:00
8fb1542d03
[*] Linux regression before ConsoleTTYs
2022-05-13 01:43:54 +01:00
2a09e62add
[*] Refactor IAsyncTransaction -> Moved namespace from AuIOFS to AuIO bc other file-like APIs share the same FS implementation. IPC, process, and other namespaces have no reason to return an AuIOFS interface when dealing with pipes.
2022-05-12 09:04:32 +01:00
433154a9c6
[+] explicit EAnsiColor::eWhite and EAnsiColor::eBlack
2022-05-12 08:21:32 +01:00
95a8388807
[*] Bug fix: ConsoleTTY.NT.cpp was reporting buffer size, not screen size
...
[*] Move ConosleTTY.*.*pp's ready for ConsoleTTY
2022-05-12 08:06:08 +01:00
b98baea2a8
[*] 4/6 fatal bugs in auAsync 1.0 grime
2022-05-10 14:51:22 +01:00
eeaa10090d
[*] 2/4 critical bugs in legacy aurora engine async subsystem
2022-05-10 14:22:37 +01:00
1c7267b9d8
[*] Update how AuAsync handles SysPump - we should really deprecate it.
2022-05-09 19:27:36 +01:00
683ed60660
[*] Bug fix: console wouldn't reset its' input buffer if it had been fully consumed in the first attempt
2022-05-09 19:26:40 +01:00
61f20b6c69
[+] Linux: missing new IAsyncTransaction::Reset method
2022-05-05 12:48:37 +01:00
0a38ffacfa
[+] NT: IProcess::AsLoopSource()
...
[*] NT: Bug fix: our side of the process streams were not marked as FILE_FLAG_OVERLAPPED
[+] CreatePipeEx.NT.cpp
2022-05-05 11:26:21 +01:00
dfc21453ef
[+] Add IAsyncTransaction::Reset
...
[*] Bug fixes: Async.NT.cpp
2022-05-05 11:24:44 +01:00
08b9c48f6c
[*] Bug fix - NT: ConsoleStd should not close GetStdHandle (win32 - new), only CreateFileW (legacy code)
2022-05-04 22:51:47 +01:00
d5ec986e02
[+] Linux async process stream access API implementation and bug fixes in AuIOFS / Async.Linux.cpp implementation
2022-05-04 20:34:46 +01:00
9ac9b5419a
[*] Fix regression in NT builds from Linux patch
2022-05-04 18:12:14 +01:00
6de5cbfb95
[+] Linux: Added bSingleshot API to timerfd backend
...
[*] NT: Added TTY handle static getter optimization alongside a secret setter API
[*] Made ILoopSource virtual
[+] Linux: Added console TTY stubs
[*] Renamed ConsoleTTY.Linux.cpp -> ConsoleTTY.Unix.cpp
[-] Redundant commented out shm_unlink (zero ref condition should unlink, i believe.)
[+] Added IProcess async pipe transaction getter stubs
[+] Added additional userland env lookup variables: XDG_SESSION_DESKTOP, DESKTOP_SESSION
[+] Unix: AuTime::ns2ts
2022-05-04 16:43:23 +01:00
2af66e0f71
[+] Add singleshot timer API flag
2022-05-04 14:00:26 +01:00
9f93b8a0b1
[+] 100 nanosecond resolution ILoopSource timer API (gl getting that res)
2022-05-03 18:42:14 +01:00
97cdbc9f27
[+] Overlapped stdout/in/err processes API
2022-05-03 11:10:04 +01:00
45975e4755
[+] Added console stdin loop source
...
[*] Fix logger color regression
[*] Fix various issues with console config struct
2022-05-03 07:19:26 +01:00
72f342e376
[*] Remove tabs
2022-05-03 05:54:24 +01:00
73173bdaae
[+] A small hacky TTY interface API
2022-05-03 05:31:49 +01:00
5cd9e64992
[*] UNIX: client IPC pipes shouldn't be announced
2022-05-03 05:30:23 +01:00
1642f4c1df
[*] 32bit parse regression
2022-05-03 05:29:39 +01:00
7613af2280
[*] UNIX: Attempt to peek pipe read-available if in ptr is null with FIONREAD when available
2022-05-01 20:35:46 +01:00
b9414f09d6
[+] Added missing poll condition trigger count
...
[*] 1/2th of the WaitAll dummy correction (should work_
2022-05-01 20:28:57 +01:00
2bfa4b0100
[+] Readd IPCPipe nt nonblock read (copy of process)
2022-05-01 20:28:57 +01:00
a66fb2c510
[+] Insert anon/other pages into process map of linux processes
2022-04-21 13:29:47 +01:00
237d2d070c
[+] Initial attempt at parsing Linux VMA space
...
[*] Refactor old C++ enums into AUE derivative
2022-04-21 00:34:08 +01:00
52983989b5
[*] Update time util
2022-04-20 14:17:37 +01:00
557fd2b574
[+] export AuParse::Parse[U/S]Int using const char*S as iterators
...
[*] Formatting/clean up
[*] Crinkling under Process
2022-04-20 14:03:51 +01:00
77a7b99c7c
[+] Linux timerfd-backed LSTimer
...
[+] auabs[ns/ms]2ts
[*] Formatting/Refactor loop sources
2022-04-19 22:50:34 +01:00
ec5516c751
[*] +1 out of at least 2 more WaitAll issues solved
...
[*] Bug fix LSTimer
2022-04-19 02:52:11 +01:00
7dca8ecd29
[+] LSTimer (NT)
...
[*] Bug fix stupid mismatching variable usage with similar name in LoopQueue.NT.cpp
2022-04-19 00:51:36 +01:00
8cbe481dba
[*] Update NT Epoch
2022-04-18 23:49:00 +01:00
b0db7993dd
[*] Commit check on DoTick | Erroneous Linux Loop Queue crash on wait before commit
2022-04-18 17:29:53 +01:00
395bf21a4c
[*] Fix timeout and harden for interrupts in WaitAll path of NT loop queue
2022-04-18 15:06:47 +01:00
f1ef6ac43c
[+] Async/overlapped UNIX pipe IO
...
[*] Further work on Linux LoopQueue for WaitAll
2022-04-17 23:46:05 +01:00
06e4411511
[*] Update UNIX pipe to follow NT-like bidirectional semantics. It's not possible to half NT, but it's possible to double the pipes in UNIX land.
2022-04-17 21:50:47 +01:00
1f15674016
[+] Optional blocking operations for Linux async file objects
2022-04-17 15:51:37 +01:00
e90be1801a
[*] Update NT memory check
2022-04-17 15:18:00 +01:00
b424a3b434
[+] NT IPC memory
2022-04-17 14:21:21 +01:00
371006c04e
[+/*] NT IPCPipe, updated interface for bidirectional comms. Introducing linux regression
2022-04-17 13:40:08 +01:00
30f86b81ac
[*] Harden LoopQueue.NT.cpp against interrupts.
2022-04-16 19:51:45 +01:00
ab7dd6c02b
[+] NT IPC primitives
2022-04-16 19:26:01 +01:00
ca0ca747aa
[*] Caught major RNG string regression
2022-04-16 19:09:30 +01:00
3779c46d36
[+] NT IPC nullstubs
2022-04-16 18:40:36 +01:00
e387f82f88
[*] Update ILoopQueue header (again)
2022-04-16 16:56:03 +01:00
fd423c88df
[*] NT LoopQueue was using the wrong ptr when calling back
2022-04-16 14:08:40 +01:00
4847519624
[*] Begin updating NT's loopqueue
2022-04-16 14:01:33 +01:00
7a0d9701b5
[*] NT regression and fixes
2022-04-15 19:20:12 +01:00
9f2ff9de19
[+] IPC pipes
...
[*] Fix socket leak under UNIX fallback path
2022-04-15 15:46:07 +01:00
2ce106d8a9
[*] Update LoopQueue semantics. Pending NT port
2022-04-15 12:45:47 +01:00
499aaeedab
[+] IPCMutex, IPCSharedMemory
...
[*] Refactor headers
2022-04-15 11:01:43 +01:00
44839e6234
[+] (Linux only) IPCEvent, IPCSemaphore
2022-04-14 20:40:35 +01:00
37cb35d997
[+] UNIX FD sharing (with Linux optimization and a potentially functional BSD fallback)
...
[+] IPCHandle
[*] Clean up IO init
2022-04-14 20:39:04 +01:00
8468c4d65c
[+] Missing UNIX flock advisory impl
2022-04-13 17:20:23 +01:00
0a6e1adfbf
[*] Update UNIX mutex primitive
2022-04-13 16:06:26 +01:00
4f2a2926e7
[*] Revert change from execv to execvp
2022-04-13 15:46:13 +01:00
f6183e672c
[*] Update UNIX process spawning
2022-04-13 15:43:38 +01:00
9eecdcb0a9
[*] Update UNIX high speed thread primitives to better account for interrupts
2022-04-13 15:42:36 +01:00
1192c616d1
[*] Amend UNIX module path resolution
2022-04-13 12:38:26 +01:00
415116c891
[+] Linux Async IO
2022-04-13 12:00:35 +01:00
aa7404fc25
[*] Update linux file watcher to emit self modify on dir watches upon file state change much like NT
2022-04-13 09:57:28 +01:00
7da61f406d
[*] Amend timeval func
2022-04-12 22:33:43 +01:00
457d263fb0
[+] ILoopSource::WaitOn(u32: timeout)
...
[+] ms2tv
2022-04-12 22:29:50 +01:00