Commit Graph

73 Commits

Author SHA1 Message Date
631624dc55 [*] Linux build regressions, and shrink the size of Linux RWLocks to 48 bytes from 64 2024-05-07 14:57:19 +01:00
b47cf9f181 [*] DebugBenchmark and ITTYConsole now uses ROStrings 2024-04-21 06:02:47 +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
88a07714e5 [*] Made conapi requirement under Win32 optional and completely nuke the code when building under non-win32 targets 2024-04-14 23:11:20 +01:00
951f9b73f3 [*] Off by one indexed extent 2024-03-10 09:45:03 +00:00
3c4cece69d [*] Fix deadlock on enter, when dispatching the command results in a grug handler being executed, followed by a deadlock during flush
[*] also wtf is this
2024-03-09 08:38:26 +00:00
260e33fd91 [*] Not a day goes by without Roman Medvedev giving me grief
(Updated fmtlib after 3 years lol)
2024-02-16 13:07:28 +00:00
be2b781ed6 [*] mitigations and clean up before two major commits 2023-12-26 21:01:29 +00:00
2e06094e46 [*] Harden consoletty from exceptions 2023-12-22 00:34:30 +00:00
dc23f14192 [+] A recommendation for Windows 11 or greater users to upgrade to Windows 7 or 10 2023-12-18 04:54:21 +00:00
98f30cac51 [*] Improve ConsoleTTY perf 2023-12-18 01:57:44 +00:00
52f8556efe [*] Bug fix: leave scroll mode on exit, not enter scroll mode 2023-12-16 21:14:01 +00:00
1652231fd4 [*] Refactor AuProcess (paths) 2023-12-13 18:11:35 +00:00
ab030ae969 [*] Scar seething 2023-12-08 20:40:24 +00:00
004eba6e09 [*] Unlimited input fps 2023-10-28 20:12:28 +01:00
654bf8eff0 [*] annoying console tty insertion quirk/bug 2023-09-28 20:38:36 +01:00
5cf7533eab [*] Linux and UNIX QOL 2023-08-27 12:42:10 +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
1265027550 [*] Cap ConsoleTTY buffer to 10k entries 2023-06-27 12:40:47 +01:00
1783202384 [*] ConsoleTTY QOL 2023-06-24 04:47:06 +01: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
75c37f4e55 [*] Fix consoletty (the console) and the thread racing on exiting causing a deadlock 2023-02-06 05:14:01 +00:00
0be7c13e1b [*] consoletty pos calculation fix 2022-12-27 15:17:34 +00:00
766be57a46 [+] Linux build [again]
[+] ProcessSectionViewReserved.Unix.cpp
[*] Fix missing ::Flush() member on ViewWriter
2022-12-16 00:41:01 +00:00
85a575eb95 [+] Network interfaces API
[+] Logger IFormatter API
[*] Clean up
2022-12-14 20:08:52 +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
6dfa806e3a [+] (NT only) Missing numpad and math keys input under ConsoleStd noncan APIs
[*] Refactor NoncanonicalInput
[*] Fix various keys resort in NUL getting added to ConsoleTTYs input field
[*] Fix multichar right key input (finish TODO note)

[*] Hex grammar: literals may end with 'h' now that i think about it. also added wiresharks seperator. let's continue to simply make sure we cover all forms of hex in a reasonably liberal fashion to account for user input from various human written and software form.

(Nonuniform style of non-hex illegal chars are fine so long as it looks and reads like a legal array of hex characters. Comas must come directly after literals, possible [0x] prefixes are fine, whitespaces too, copy/pasted '[', ']', '{', '}', 'reasonable' new line rejection, etc)
2022-12-09 22:59:03 +00:00
89d341b4fc [+] AuDebug::ErrorStack / AuErrorStack
[+] Begin stubbing out memory crunch apis
[*] Fixed MT consoletty missed flushes
2022-11-30 11:11:18 +00:00
72dc0d715e [*] Begin enforcing steady time
[+] IOProcessor::WakeupThread
[+] NT: Begin hacking in timeBeginPeriod (must spam it in some places)
[+] ConsoleTTY (more specifically the win32 calls) are too slow to run on the mainthread. Delegate to worker.
[*] AuTime.CurrentClockSteady
[*] AuTime.CurrentClockSteadyMS
[*] AuTime.CurrentClockSteadyNS
2022-11-28 16:01:08 +00:00
01871aee61 [*] Fix clipboard method to work with older noncan apps. still doesnt work under windows terminal 2022-09-09 21:47:53 +01:00
7bfa7911cf [*] Fix: win32 console - copy/paste scroll bug 2022-09-09 21:32:10 +01:00
7fd217a50e [*] Various teardown related fixes/changes under UNIX 2022-08-14 14:41:19 +01:00
49214dd6f3 [+] Additional keycodes under UNIX ConsoleTTY
[+] Try/catch around LIOS_Process to prevent external exceptions from trashing core io components
2022-08-13 18:32:14 +01:00
03f072f8d6 [*] BUG: OnPipePartialEvent wasn't sent during IOPipeProcessor ticks (common/all platforms)
[*] Build regression: Win32 clipboard-mode-switcher routines weren't ifdef'd out on non-nt pltforms
2022-08-09 01:55:18 +01:00
1510beaf49 [*] Superficially fix the ConsoleTTY redraw issue on initial overflow by removing an optimization 2022-08-08 00:22:15 +01:00
5b5b6fa920 [*] Solve NT build regression introduced in a Linux commit 2022-08-07 23:42:13 +01:00
da70053aab [+] Win32 clipboard update check under the ConsoleStd pump to automatically switch between quick edit and gib us the raw input modes 2022-08-07 23:35:13 +01:00
9c90e96dee [+] Missing ConsoleTTY::IsBuffering() under NT 2022-08-05 19:25:01 +01:00
4ca490e4f3 [*] nt bug? 2022-08-05 11:41:48 +01:00
a1e479e28e [+] Begin work on UNIX noncanonical input. Currently hacking into the codebase to wrangle minimum viable product 2022-08-04 20:29:41 +01:00
fd0c5b51b2 Further Linux support
[+] Begin work on IO futexes for io release on process/thread exit
[+] Linux ::readdir iteration
[+] AuConsole buffering API
[*] Fix sleep as to not get interrupted by signals
[*] Switch the type of FS lock used under Linux
[*] Linux: Use new IPCHandle encoding scheme
[*] Fix undefined behaviour: unintialized timeout values (AuLoop/Linux)
[*] Fix undefined behaviour: ConsoleTTY clear line was called of a color of a random value on stack
[-] Remainings of std dir iterator
[*] Fix pthread_kill (aka send signal to pthread handle) always kills process. This is what you expect bc signal handler inheritance.
[*] Reformat the build Aurora.json file
[+] Added clang warning ignores to the build file
[*] Fix: UNIX need to use STDOUT_FILENO. Was using CRT handle in place of fd by mistake.
[+] Linux implementation for IO yield (AuIO::IOYield() - UNIX::LinuxOverlappedYield())
[*] Fix: Linux async end of stream processing. res 0 = zero bytes consumed. <= was detecting this as an error of code 0. Should succeed with zero bytes.
[+] Linux LoopQueue missing epilogue hook for the IO processor
[*] Various refactors and minor bug fixes
[*] Linux fix: Handle pipe EOS as zero
[*] Linux fix: thread termination via a user signal of 77. Need a force terminate.
[*] IPC handle: fix improper int to bool cast in the header setup within ToString
[*] Linux fix: HWInfo CPU topology regression
[-] Linux fix: remove SIGABRT handler
[*] Missing override in compression, exit, and consoletty headers.
[+] Unix Syslog logger backend
2022-08-02 05:52:57 +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
bf6f13095c [*] Linux builds again. Still behind 2022-06-23 13:25:20 +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
942373328c [*] Refactor exchange TTY function mislabeled as set 2022-06-14 18:33:34 +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