99c5e1fa65
A pretty large patch not worth breaking up into separate commits
...
[*] Split up Aurora Async
[*] Split Async app into seperate ThreadPool concept
[*] Fix various OSThread bugs and tls transfer issues
[*] Set default affinity to 0xFFFFFFFF
[*] Update Build script
[+] Add AuTuplePopFront
[+] New Network Interface (unimplemented)
[*] Stub out the interfaces required for a better logger
[*] Fix Win32 ShellExecute bug; windows 11 struggles without explicit com init per the docs - now deferring to thread pool
[*] Update gitignore
[*] Follow XDG home standard
[*] Refactor some namespaces to use the shorthand aliases
[*] Various stability fixes
2021-11-05 17:34:23 +00:00
14bde3750c
[+] Added IAuroraThread::Detach
2021-10-25 19:19:49 +01:00
9ed6d2ff03
[+] Begin expanding OSThread to offer more signals. This needs optimizing
2021-10-25 18:08:28 +01:00
6157535914
[+] Note: this is really stupid
2021-10-25 18:06:24 +01:00
6e75e97e48
[+] literally just a whitespace lol
2021-10-25 18:06:11 +01:00
fab9856adb
[*] God knows how long ago this was improperly refactored. This impl shouldn't even be using the crt for fopen but whatever it disables caching its probably fine
2021-10-24 13:08:38 +01:00
51e3944171
[+] Added RuntimeHasStarted. Possibly useful for multiple DLL users who have no say in the applications structure.
2021-10-24 11:53:14 +01:00
fbe151506f
[+] Missed unrefactered chunk of code; locale build cache wasn't invalidated for some reason
2021-10-24 11:44:43 +01:00
b8fde0bdf0
[*] Refactor and clean up exception and threading API
...
[-] Deprecated abstract vectors struct
2021-10-24 11:19:47 +01:00
e01fa33445
[*] Aurora::Data refactor and more public header include clean up
2021-10-24 10:04:02 +01:00
05e3a90a7c
[*] More clean up
2021-10-23 23:37:18 +01:00
39834cef6a
[*] House cleaning, refactoring, clean up
2021-10-23 20:21:16 +01:00
1c9fd1a59d
[*] Bug fix: open.linux.cpp
2021-10-23 19:44:41 +01:00
4e804e59c7
[+] Rewrite win32 file/directory opener
2021-10-23 19:42:05 +01:00
fe529f3dc4
[+] Added AuroraInterface IThreadVectors for thread creation
...
[+] ThreadInfo's constructor now accepts additional arguments for name and stack
[*] Deprecate AbstractThreadVectors
[+] note about detaching threads
2021-10-23 19:25:43 +01:00
f5a8d875d8
[*] Mucho Sanchez
2021-10-23 12:42:31 +01:00
3d859a319e
[*] More async api change
...
[*] Improve win32 exception watcher
[*] Fix early pin reset. Possible use after write still, unsure if self reference is legal
2021-10-23 12:36:14 +01:00
dde580ddf9
[*] Break only when index == len
2021-10-16 00:55:27 +01:00
d28a0aa291
[+] UNIX binaries should use the /opt mount when possible
2021-10-16 00:35:49 +01:00
586ec565e1
[*] Count discontiguous bits in the win32 processor map
2021-10-16 00:15:13 +01:00
5e0cc1ccfa
[-] Comment out noted problematic code. A fix must be implemented soon
...
[*] Harden Async.hpp utilities against various conditions one might expect in the wild
[+] Added SetWorkerIdIsThreadRunner
[*] Fix a bug where a cv signal and broadcast was inverted
2021-10-16 00:02:27 +01:00
a626fbea24
[+] HWInfo::GetPageSize()
...
[+] Parse::SplitNewlines(..., ..., true) where the return value is the remaining unbuffered line
[*] Gross hack we should remove to drop std string parse exception abuse logs
[*] Update AuroraForEach and AuroraInterfaces
[*] Experiment with using alternative os address space reserve + commit mechanics for Memory::Heaps
[*] global fast rand device should be seeded with at least 64 bits of secure rng data. ideally, we should max out entropy with secure bits, but we dont
2021-10-14 12:35:05 +01:00
fc16065d5e
[*] boring clean up and refactor
2021-10-09 00:39:42 +01:00
f559897b42
[+] Added WorkerId_t structure
...
[-] Removed WorkerId_t typedef
[*] Added shared support to some older threading apis that have yet to be updated
2021-10-08 20:51:34 +01:00
f968d6a75f
Merge remote-tracking branch 'origin/master'
2021-10-06 14:48:38 +01:00
c9e1dc30e0
[+] Added AU_STRIP and AU_EMIT macros
...
[+] Added AuroraForEach
[+] Added AuroraInterfaces
[+] Added Async::NewFence
[*] Readded task null check under Async::NewWorkItem such that task = AuMakeShared() errors are passed through to the caller by a failure empty shared response
2021-10-06 14:48:28 +01:00
90e58db0e3
[+] Stubbed out LSAsync
...
[*] Move classes to headers
2021-10-03 14:19:33 +01:00
ce47277488
[+] Begin work on the loop source subsystem for Windows
2021-10-03 13:47:16 +01:00
6435eaf5fc
[*] Refactor kAnsiCheats
2021-10-03 13:44:23 +01:00
499f553e15
[*] Refactor AddLoopSource
2021-10-03 13:43:58 +01:00
6c0907fe9e
[*] Unix should use absolute timeouts d'oh
2021-10-03 13:43:37 +01:00
bd1d1a2aae
[+] Added includes for intrins in the common header
2021-10-02 18:29:42 +01:00
97d6c96712
[*] Succesfully built on Linux for the first time in a very long time
2021-10-02 17:07:33 +01:00
c0eccaf901
[+] Mend noted build issues
2021-10-02 14:19:25 +01:00
1f35723107
stw
2021-10-02 12:29:18 +01:00
15ae6ab14c
[+] Added file structure for the loop source subsystem
2021-10-02 11:28:49 +01:00
4f210e15a0
[*] Made WELL_NextBytes atomic
2021-10-01 18:22:59 +01:00
4703264c57
[+] Added 64bit rng seed support
...
[*] Cryptographically unsafe RNG is marginally less dangerous; use secure rng for the entire base seed instead of seeding using 32bit mt
2021-10-01 17:54:55 +01:00
a6d1c04ba0
[+] Added AuExists semantic
2021-10-01 17:49:23 +01:00
ea83fcef20
[...] cont
2021-10-01 17:32:50 +01:00
9436b12455
[+] Begin work on a possible future API for interoperability between loop sources and event driven async apps
2021-10-01 17:27:15 +01:00
caa983ecad
[*] Major change in include convention
2021-09-30 15:57:41 +01:00
6e5905b80a
[*] Permit unbacked IWorkItems
2021-09-30 11:29:18 +01:00
3fb8e2bf8c
Remove ID 0 restriction from Aurora async, breaking the API
2021-09-30 10:19:04 +01:00
2c5a492f08
[*] Added a few notes in the Async.hpp header
...
[+] Ensure dead locks can not occur
2021-09-29 15:31:40 +01:00
d3a97257da
God dammit
2021-09-29 14:43:49 +01:00
5347fdbba1
[+] Enforce C++ assumptions
2021-09-29 14:40:30 +01:00
dca4ca195b
[+] Added async task (this should be job) private
...
[+] Added ToWorkResultT for apps using BasicWorkCtx
2021-09-29 11:47:54 +01:00
6632bf6d4e
[*] Warnings
2021-09-29 09:03:08 +01:00
8a6abcfdb7
[+] Added IWorkItem::Cancel
2021-09-29 09:01:42 +01:00
60d2c59d6e
[+] More crypto copypasta
2021-09-21 02:54:47 +01:00
fbf39d9d17
[+] Obvious build error on Linux
2021-09-21 02:53:24 +01:00
9dd195949a
[*] Preparing for ECC support
2021-09-18 21:10:25 +01:00
c4567f4c8c
[*] Amend %x -> {:X} formatting
...
[+] Added source files ready for an LTC ECC implementation
[+] Added linux specific HWInfo get threads backend
[+] AU_TEMPLATE_ENABLE_WHEN
[*] Amend IO::FS::WriteString compilation issue
2021-09-17 20:26:05 +01:00
412d798994
[*] API design change, MemoryViews must be passed by reference such that a pointer to an object that may be the superclass of the actual RAII owner of the memory is passed
2021-09-15 20:08:08 +01:00
2c68cf529a
[*] Should've ran a clean build :(
2021-09-15 02:14:29 +01:00
510928e62e
[*] Linux should not raise int3 unless the binary is a debug one
...
TODO: investigate registering an int3 signal handler to prevent crashing under internal builds
[*] Amend MemoryViews
[*] Begin shifting towards MemoryView based binary APIs
[*] Fix public RSA key leak
[+] Some clean up and possible bug fixes
2021-09-15 00:56:26 +01:00
e0ac8344d0
[+] Getting ready to strip void *s from the api
2021-09-14 20:10:57 +01:00
03368d262f
[*] Pin overlapped structure until async IO completion
2021-09-14 15:20:31 +01:00
2382f75759
[+] Possible NT async file io implementation
2021-09-14 14:13:58 +01:00
2b4517352c
[*] Reformat messed up
2021-09-13 22:35:39 +01:00
051e597663
[+] Begin work on block compressors
...
[*] Bug fixes
2021-09-13 22:15:57 +01:00
7c90933e97
[+] Begin work on block compressors
...
[*] Bug fixes
2021-09-13 22:13:41 +01:00
5d18f3535c
[+] Initial HWInfo stat implementations
...
[+] General fixes and clean up
2021-09-13 21:11:12 +01:00
97f1ae087e
Stability/Bug fixes; wxWidgets, compression
2021-09-07 08:59:56 +01:00
bef72f8e4a
More compression work, still requires polish and clean up
2021-09-07 08:37:15 +01:00
eb6a1eaad0
[+] TryResize test for bytebuffer type
...
[+] Added path in telemetry formats under NT FIO failures
[*] Various bug fixes
2021-09-06 20:04:01 +01:00
de95a9de6f
[*] Fix wxWidgets deinit race condition; do not attempt to lock on deinit
2021-09-06 16:48:06 +01:00
329abe97f4
[*] lz4 and buffered stream bug fixes
2021-09-06 16:47:35 +01:00
c4ef27b01d
[*] Improve win32 stdin preemption on deinit
2021-09-06 15:44:00 +01:00
80d351472a
[*] untested possible alternative solution, expose internal buffer size, caller does not manage internal buffer size (yet)
2021-09-06 15:22:17 +01:00
c256406053
[*] Untested bug fix: large compression frames were getting dropped
2021-09-06 14:59:00 +01:00
35e4d4bedc
TODO move me
2021-09-06 14:17:41 +01:00
02dc2d59cf
Patch 1.5/2
2021-09-06 14:08:37 +01:00
ffe4bc31fc
Major patch [1/2]
2021-09-06 11:58:08 +01:00
3e33533276
[-] Remove a scope I was using with SysBenchmark
2021-07-15 17:28:45 +01:00
72a74eb7a4
[*] Fixed bug where schedular was using a read lock in a scope where items were erased from a vector
...
[*] Refactor a 'Object' member field in a ParseObject struct
[+] Added an option to set a command dispatcher thread from an AsyncApp
[*] Fix various issues with AsyncApp, stablity improvements
[+] Added AddDelayTime
2021-07-15 17:16:23 +01:00
7c44d3a02c
[*] Micro path resolve optimizations
2021-07-13 14:08:34 +01:00
42325b08b8
[*] Added a macro preprocessor to remove Aurora branding from ~ and ! profile lookups
2021-07-13 14:07:22 +01:00
1ff63f3479
[+] Added stub for fast rng
...
[*] Fixed RNG strings may contain a null byte
[+] Added RngByte, RngArray, RngBoolean
2021-07-13 13:09:10 +01:00
28a840f71d
[+] Added async semantic ->Then(...)
2021-07-12 15:37:05 +01:00
29e5593308
Reformat RSA
2021-07-12 13:17:16 +01:00
8233825353
I messed up
2021-07-12 13:06:21 +01:00
be7b080c56
[ABI Break] LZ4 framesize prefix will now be a 32 bit integer. given the recommended length of a small block is 16KiB or ~ 2^16, it doesn't make sense to use 16bit integers
2021-07-11 18:56:20 +01:00
95a04e0984
LZ4: flip in buffers
2021-07-11 18:38:43 +01:00
7579d70bc1
[*] Actually compiles now :(
2021-07-11 18:26:38 +01:00
3be51018c9
[-] Remove Flush from public compression interface
...
[+] Improved base block [de]compression objects
2021-07-11 12:36:15 +01:00
955578cf8e
[+] LZ4 required some more work
2021-07-11 12:18:33 +01:00
dd06417d04
[*] Starting to fix up rushed block compressors
2021-07-11 11:57:14 +01:00
df301a4101
Improve workitem api
...
[+] New waitfor by work dispatcher type
2021-07-07 21:32:59 +01:00
1f8d06cbf0
[*] Expose AsyncApp::Poll
2021-07-05 14:35:13 +01:00
22d03229ae
[*] Untabify paths.cpp
2021-07-05 14:33:05 +01:00
18c435a433
[+] Sketchy pump system io events in ::Main of async apps
2021-07-01 14:49:32 +01:00
5676ef84fb
[*] Console exit must be called last in case any unexpected error occurs during deinitialization
...
[*] Fix up wxwidgets
2021-07-01 11:49:46 +01:00
b9da9c313e
[*] Amend crypto headers and type usage
2021-07-01 10:33:31 +01:00
9a93d4ec8d
[+] Added the old RSA wrappers
...
[*] Prepare for implementing ECC (again)
2021-07-01 10:18:42 +01:00
f87c2b47a6
[+] i can has registry
2021-06-30 17:35:02 +01:00
22c1681132
Bad handle checks
2021-06-30 17:34:49 +01:00
784d58b184
[*] Crash fix: Null SysPushErrors should be assigned empty strings
2021-06-30 17:33:18 +01:00
c8c3908085
[+] Now with a scheduler!
2021-06-30 13:07:54 +01:00
e30be64c44
[*] Prevent pinning another WorkItems lock within the parent scope of some ::Fail's
2021-06-30 10:41:58 +01:00
23ddb0f2f6
[*] Ensure failure on waiters if a task we're waiting on has already failed
2021-06-30 10:34:01 +01:00
452b49b610
[+] Begin work on the Async subsystem
2021-06-30 10:28:52 +01:00
f1445c63bb
Readded C++17 allocators
2021-06-28 00:12:17 +01:00
337062b490
Update headers, untabify. I guess the vs extension killed itself
2021-06-27 22:33:58 +01:00
eb4a495199
Initial Commit
2021-06-27 22:25:29 +01:00