Commit Graph

488 Commits

Author SHA1 Message Date
9aa65a0bda [*] Amend NT IPC memory map 2022-08-13 21:35: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
1a4fa2d2ff [*] im low iq 2022-08-13 06:10:01 +01:00
fe19a47a2a [+] Missing external class if iterative/codepoint length locale apis
[+] (internal) UTF8::IterateUTF8
2022-08-13 06:03:24 +01:00
592a93c19d [*] Ugly hack: Add additional keys to the win32 wVirtualKeyCode StdConsole tick 2022-08-12 23:17:30 +01:00
51facdb6a3 [+] IProcessSectionView::MapIPCMemory now takes a 'length' parameter 2022-08-11 12:28:20 +01:00
f98174b7a2 [*] IOSubmit.Linux.cpp bugfix: save wasted time cancelling triggered polls resulting in a -1 EINVAL 2022-08-10 18:01:02 +01:00
868de46abd [+] Installed Linux PR_SET_PDEATHSIG hook into eSpawnChildProcessWorker's to better emulate Win32 job workers 2022-08-10 16:36:03 +01:00
b987384d58 [+] chroot after fork. also, removed todos about clone (wont support). the old unix behaviour works fine 2022-08-10 16:05:22 +01:00
eb144f7377 [+] Quick support for IProcessSectionView on Linux 2022-08-10 12:12:36 +01:00
eda8d4255d [+] IProcessSectionMapView
[+] IProcessSectionView (downgraded bc NT)
2022-08-10 10:50:49 +01:00
64cb7404ba [+] Near 1:1 Linux IPC Pipe compared to the NT equivalent (~= CreateNamedPipeA(nMaxInstances=1, dwOpenMode=PIPE_ACCESS_DUPLEX, dwPipeMode=PIPE_TYPE_BYTE))
[+] Ability to bypass blocking limitation of certain io_submit reads, if the blocking subsystem is a pollable stream (ie: a pipe).
[*] Fixed major Linux bug where LoopQueue items weren't being submitted, if no dequeues were in the same tick
[*] Fix various Linux pipe related bugs
[*] Fix futex bug where the callback was nulled on server-release
2022-08-09 07:48:29 +01:00
d60176afb3 [*] NT IPCPipe: fix up renegotiation after termination 2022-08-09 07:16:09 +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
13480a0473 [*] NT bug fix: pipe breakages were occurring as a non-block instant readfileex operation, and didn't simulate an async read 0 success.
[*] IOProcessor's stop method now returns true on success instea of true on delegated stop
2022-08-08 16:32:45 +01:00
e42efe930c [+] ConsoleStd: Noncanonical input interprets right click as paste 2022-08-08 01:33:32 +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
a92467ceb6 [*] Solve UNIX bug: the call to NewOSNamedEventDirectorySinkRelease was disabled under POSIX 2022-08-07 07:37:28 +01:00
5dd2be4763 [+] New Linux futex based IPCMutex to better ensure robust breakage 2022-08-07 07:01:55 +01:00
c730d4fc58 [*] Fix: IOPipeProcessor will now report a failure on nominal stream-end, if non-zero request length was not met 2022-08-06 20:56:21 +01:00
331f139fdd [*] Fix: Termination of Linux C++ code without C++ land whining about NPTL no-rethrow 2022-08-06 20:53:21 +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
0a66e6741b [+] Add IOSleep, IOYieldFor utility functions
[*] Add/clean up header comments
2022-08-05 11:28:34 +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
21902a5d5b [+] AuParse::[Stringify/Parse][U/S]Int[16] class of parse APIs
[*] Optimize UNIX IPC ABI: Handle String encodes an array of U16s to optimize space. Could still be better.
2022-08-04 14:08:12 +01:00
e4e0af2f1d [*] Reset stream out variable sooner under filestream 2022-08-02 13:29:01 +01:00
bfd9e339fc [*] Clean up of include headers 2022-08-02 05:58:00 +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
b8bcab1bdc [+] IReadDir
[+] AuIOFS::ReadDir
[*] Fix erroneous return false under fs remove (NT)
2022-07-23 07:41:47 +01:00
2470cbc12a LAAAAAIIIIIIIIN 2022-07-21 23:23:16 +01:00
1f2599f66b [+] Heap::AllocateDivision
[+] AuHeap::RequestHeapOfRegion(void *, size_t)
2022-07-21 10:59:02 +01:00
da51aaf6a7 [*] sleep deprived 2022-07-21 07:34:55 +01:00
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