74613d61e0
[*] Made nt cpuinfo less dumb
2022-04-12 20:18:21 +01:00
4617587adb
[*] Async file aio API WaitMultiple
should return a DWORD and call the callbacks
2022-04-12 20:17:58 +01:00
b0b9931586
[*] Update iconv
...
[*] nt queue
[-] Remove misplaced pragma once
2022-04-12 20:16:49 +01:00
a1a46e5324
[+] Use hwinfo cacheline in Cache.cpp fallback asm impl of instruction flush
2022-04-12 20:15:14 +01:00
9fe22062f8
[*] Revert fast rng ABI. Messing with the entropy doesn't make much sense considering the perf tradeoff
2022-04-11 20:28:18 +01:00
2de033a575
[+] Initial unoptimized iconv backend in the gross locale encode subsystem
2022-04-11 19:56:14 +01:00
c7fb247f99
[*] Formatting: this was bothering me
2022-04-11 14:11:47 +01:00
a36a1b8211
[*] Do not warm dir listings on non-dirs
2022-04-11 13:57:14 +01:00
a3b36ea651
[+] Directory awareness in OPLOCK hack of a watcher to bring NT up to Linux possible quality
2022-04-11 13:54:52 +01:00
2903a9f6cc
[*] NT File watcher regression from Linux update
2022-04-11 10:54:51 +01:00
d4e239d27f
[+] Did I just implement peeking of NT handles by buffering the signal state? Yes, yes I did.
...
[*] Further eliminate 32bit MS clock values (we need clock types)
2022-04-11 10:47:09 +01:00
45e6bf0d76
[*] Begin updating LoopQueue NT again
2022-04-11 06:35:13 +01:00
5e82879cc5
[*] Additional NT watcher regression (between API update)
2022-04-11 06:35:13 +01:00
80aab8360c
[+] Missing no pop on signal handle without filter callbacks
2022-04-10 17:42:11 +01:00
2b798bde97
[*] Win32 build regression (1/2)
2022-04-10 17:20:00 +01:00
e888c0af63
[*] Update LoopQueue.Linux.hpp
2022-04-10 16:59:39 +01:00
92e195e870
[*] Remove debug mask
2022-04-10 16:51:25 +01:00
3defb1bb14
[+] Linux Watcher
...
[*] Expand watcher API -> Breaking NT
[*] Reexpand loop queue API -> Breaking NT
[*] Linux CPUInfo clean up
[*] Bug fix: mkdir should set execute flag... because directories are special
[*] Refactor: Cleanup base64
[*] Bug fix: UNIX path normalization
[*] Bug fix: missing O_CREAT flag (au auto-creates)
[*] Normalize line endings
2022-04-10 16:40:49 +01:00
cf219eabaa
[+] Initial attempt at an epoll backend
...
[+] Added comments in nt opener
[*] Fixed rng close
[*] Fixed possible aarch64 crash where unix thread ep function didnt return a value
2022-04-09 16:53:14 +01:00
9da2147756
[*] Unix signal handlers shouldn't be Linux exclusive
2022-04-07 06:31:38 +01:00
1c78c18997
[+] Exit::CancelExit()
...
[*] Treat SIGTERM the same as SIGINT. SIGINT is somewhat of an arachic signal meaning, "hey dumb unix app, fuck the process group, start reading from stdin to listen to the user." Nowadays, this doesn't mean anything other than "hey, a human asked us to terminate from a TTY" - basically the same as SIGTERM, except SIGTERM is more likely to be a scheduled or otherwise expected shutdown event.
2022-04-07 06:22:50 +01:00
fb287e6128
[*] Always reset the sigaction mask (sigemptyset)
2022-04-07 05:41:16 +01:00
d81d4564e9
[+] Initial Linux exit signal handler
...
[*] Linux Semaphore bug (apparently I can't write loops)
[*] Linux sleep bug
2022-04-07 05:35:17 +01:00
d3428f4cd9
[*] Continued loop work (Linux and Win32)
2022-04-07 02:20:46 +01:00
da506dd0d8
[*] Amend linux cmdline parsing
2022-04-06 08:25:17 +01:00
bfc33e6663
[*] Early Linux SWInfo
2022-04-06 07:25:34 +01:00
6271af0ada
[*] Hey, wait a minute. Update Linux cpuinfo.
2022-04-06 06:09:23 +01:00
098d63eeb3
Hey, wait a minute
2022-04-06 05:55:12 +01:00
b97ed198c3
[+] Modern Linux cpuinfo
...
[*] Replace getpid with gettid
2022-04-06 05:50:12 +01:00
8fe83de42f
[*] Linux has a pulse...
2022-04-06 02:24:38 +01:00
3205ea8a1f
Merge remote-tracking branch 'origin/master'
2022-04-05 14:46:40 +01:00
7705e32c59
[*] Win32 regression
2022-04-05 14:46:19 +01:00
f0ed958e5a
[*] Bad type migration from spinlock to rwlock
2022-04-05 14:41:46 +01:00
311b13bc32
[*] Do you see why Zombie processes are still an issue under UNIX?
2022-04-05 11:24:48 +01:00
8cbceae272
[*] Process clean up (UNIX)
2022-04-05 11:18:35 +01:00
e25d8a65c8
[*] Linux Progress... It compiles (APIs are out of date, subsystems are missing, and it doesn't link. Worse than being 5m behind)
2022-04-05 11:11:19 +01:00
d32b84edf4
[*] Linux stubs
2022-04-05 06:59:23 +01:00
48b6994f61
[+] LSFromFdNonblocking
...
[*] Other Linux progression
2022-04-05 03:36:39 +01:00
c4d9042e44
[+] THE IO JOHNNY, WHAT DOES IT MEAN? | Linux continued
2022-04-05 02:19:37 +01:00
5a96a71949
[*] Address *some* build issues under Linux. Interim port progress
2022-04-04 08:53:34 +01:00
62e3490d9f
[*] Slight cleanup of the NT watcher
2022-04-03 05:46:52 +01:00
3650599064
[*] Only send ack if requested
2022-04-03 03:44:59 +01:00
603c68f3ca
[-] de-bug
2022-04-03 03:26:23 +01:00
a1ec806773
[+] Initial hack of a file watcher in NT land
2022-04-03 02:52:25 +01:00
450c895732
[*] WaitSingleBase.cpp was rescoping the return value. Doh
2022-04-03 00:30:15 +01:00
cfca09d0da
[*] FS.cpp bugs regarding expanding "<char>/"
2022-04-03 00:29:49 +01:00
371d01ce71
[*] Missing stage for MakeTemporary
2022-04-03 00:28:18 +01:00
24ea76e30e
[*] This deprecated API is known to break with a stupid template error under recent STL releases under MSVC
2022-04-02 19:15:06 +01:00
a31136a5d4
[+] MakeTemporary
2022-04-02 19:14:24 +01:00
6eb33179cd
[*] Original exit behaviour
2022-04-02 03:52:35 +01:00
5599da3ab0
[*] Harden exit
2022-04-02 01:48:29 +01:00
fb5eb02594
[*] win32 flag shouldn't be reset on recommit | regression since commit no longer starts from scratch under nt
2022-04-01 19:33:11 +01:00
8b72865586
[*] Found closed issue related to the MSVC STL clock. Proposed solution gave us a 2x boost in benchmarks. Using this over MSVC's clocks when possible (it's not even using kernel32/related apis, it's using high level apis of the crt and frens... The Microsoft STL has shit tier performance for real time usage, yea, who fucking knew? Why was I writing this project again?)
2022-04-01 18:40:56 +01:00
e281f63a3b
[*] Continue work on the NT loop queue
2022-04-01 18:39:07 +01:00
a4568be6fa
[*] Kill net. Branching...
2022-04-01 04:54:21 +01:00
556c6c37bb
[*] Demangle
2022-03-31 21:34:37 +01:00
2eb5c97800
[*] Stupid optimization that doesn't make so much of a difference
2022-03-31 14:12:06 +01:00
76c4759f92
[*] Optimise loggers
2022-03-31 04:40:19 +01:00
e9ad89beea
[*] Localized timescale looked ugly
2022-03-31 04:34:02 +01:00
9f9f86f174
[*] What kind of regression was THIS?
2022-03-31 03:13:56 +01:00
1159bf3ca3
[*] Another gross bug
2022-03-31 02:49:58 +01:00
8002d6cba2
[*] Disgusting locale subsystem: gross bug
2022-03-31 02:13:00 +01:00
f717511a10
[+] NT OutputDebugStringW logger sink
...
[*] Split objects
[*] Consider making ABI object api boilerplate
[*] Refactor STLShims (roxtl)
2022-03-31 01:31:40 +01:00
5baf182c6f
[*] ...this makes more sense
2022-03-30 23:32:18 +01:00
90af80ae2c
[+] AuUTF8StringView polyfil
...
[*] NT Loop queue improvements
2022-03-30 23:30:51 +01:00
3e80022f95
[*] Cacheline and cachesize report in CpuInfo
2022-03-30 22:45:10 +01:00
142d204653
[*] cmdparse test failure
2022-03-30 20:26:24 +01:00
2c21d130ee
[*] IsSignaled was blocking
2022-03-30 19:46:19 +01:00
c1976d771b
[*] Compiler warning
...
[*] Disambiguate auContainerUtils
[*] Optimize AuLogXXX / remove alloc
[*] Didn't commit two auROXTL idiom updates (ExceptionWatcher and Logging)
2022-03-30 19:07:15 +01:00
79c2a2ffff
[*] Gave the NT loop some attention (much more required)
2022-03-30 18:56:56 +01:00
f9ac6fff72
[*] ECompressionType typo
2022-03-30 15:20:04 +01:00
35c1dc623b
[*] Formatting
2022-03-30 15:18:56 +01:00
e0b19c075d
[*] Refactor cache
2022-03-30 15:18:20 +01:00
cf73ccad37
[*] On unix, eNormal throttle should mask all cores
2022-03-30 15:18:07 +01:00
361e8526cf
[*] Optimize create-dir-tree for FS benchmark
2022-03-30 15:17:15 +01:00
790d01a29a
[*] Update for auROXTL changes
2022-03-30 15:16:57 +01:00
5ea5e0314f
[*] 32bit swaplock compile
2022-03-30 15:15:50 +01:00
802361c57e
[*] Update FS resources under NT (prevent conflict of privileged user data + brand matching all user data)
2022-03-30 12:33:52 +01:00
e7f6f79471
[+] RWLock::DowngradeWriteToRead
2022-03-30 12:32:03 +01:00
3c53eb526f
[*] Enchanced command line parsing
2022-03-29 01:53:02 +01:00
3507d9bb33
[+] GetSharedAsyncApp
2022-03-23 16:33:02 +00:00
0dcfd23fc7
[*] Update processmap
2022-03-23 16:14:53 +00:00
68bfdd1f8d
Update ROXTL
...
[+] Extended fnv1 apis
[+] AuResult
[+] AuHash
[+] AuEnableHashCodeOnData
2022-03-23 16:03:48 +00:00
ba8602744b
[+] Interim and incomplete Unix/Linux buildability
2022-03-22 05:10:40 +00:00
a5c2600f1f
[*] Force update affinity here
2022-03-21 07:31:01 +00:00
9326891ada
[*] Angry updating header noises
2022-03-21 07:20:15 +00:00
9542ec8374
[+] Initial OSThread SetThrottle attempt
2022-03-21 07:16:12 +00:00
0fb514f856
New memory APIs
...
[+] AuMemory::Cache
[+] AuMemory::SwapLock
[+] AuMemory::Transition
AuROXTL
[+] AuPageRoundUp
[+] AuPageRound
2022-03-21 05:20:19 +00:00
8b4bdbd04b
[*] CpuInfo (and others) refactor
2022-03-20 12:51:51 +00:00
d406e5a85e
[*] Win32 32bit regression fixes
2022-03-18 07:32:38 +00:00
ff88b7f85d
[+] lite sku
2022-03-18 04:30:39 +00:00
dce47ee5cf
[*] Recrinkle enterprise flag on windows
2022-03-16 19:50:04 +00:00
672915cd55
[*] Improve CpuId awareness through affinity
...
[*] Clean up OSThread
[*] Tweak HWInfo/CpuInfo
2022-03-16 18:15:57 +00:00
ab76f77871
[+] SetThreadDescription support
2022-03-16 16:34:55 +00:00
5213a19362
[*] Additional seething
2022-03-13 23:03:53 +00:00
c826df484e
[*] Loop queue nt bug
2022-03-11 04:07:15 +00:00
7bfcce52fd
[*] Oops
2022-03-10 16:02:20 +00:00
03bb80239c
[*] Reglue async and loop together
2022-03-10 15:41:57 +00:00
6afe6c7342
[*] Clean up
2022-03-08 01:36:12 +00:00
1f18da1e98
[*] Added missing this-> in StringToProvider for consistency within this file
2022-03-04 23:15:41 +00:00
53e33b6fdd
[*] Added/fix UTF-16 BE count
...
[*] Optimize stage builds - Crypto API validation
[*] Clean up
2022-03-04 22:28:25 +00:00
805eae7f3d
[+] Added _AU_SAW_WIN32_EARLY for AuLoop::NewLSHandle in AuWin32Utils.hpp
...
[*] Clean up AuROXTL
2022-02-27 09:11:56 +00:00
907b5d1b33
[*] Illegal missing return value
2022-02-27 07:46:00 +00:00
bb6025ab5f
[*] only pump this on dtor
2022-02-21 21:19:12 +00:00
01254d088b
[*] Fix no flush after blocking write on logger dtor
2022-02-21 20:35:16 +00:00
ef04d2bac3
[-] Remove "Initialized default localization" debug message
2022-02-21 14:07:21 +00:00
9e26996463
[*] Recrinkle win32 process send term and stdin CONIN/OUT win32 logic
2022-02-21 12:27:34 +00:00
c6d649e3de
[*] Fix race condition. Read after logger detor bug in rw to spinlock optimization
2022-02-21 05:56:52 +00:00
cd8cfd4f1c
[+] Shutdown runtime on unsafe main thread termination
...
[+] Grug will flush everything inline on deinit
[*] Fix bug in BufferedCharConsumer, didn't return char in peak (doh)
2022-02-21 03:40:29 +00:00
3f4cf93877
[+] AuTryInsert for maps
...
[*] Fix Aurora::IO::FS Remove not removing empty directories
2022-02-20 21:57:01 +00:00
d67d6b38db
[*] Fix NT FS bugs in mega patch
2022-02-20 21:08:44 +00:00
188e478033
[+] Improve RNG apis. TODO: more work is needed
2022-02-20 20:49:34 +00:00
3651c22159
[+] AuIOFS::WriteFile should use new memory span
2022-02-20 20:31:18 +00:00
9c18cb06e0
[*] Emulate \\ escaping on NT CmdLine parsing
2022-02-20 18:49:15 +00:00
7864966478
[+] Minimalistic AuNumericLimits implementation
2022-02-19 17:56:45 +00:00
2c55b722d6
[+] AuAtomicTestAndSet
2022-02-19 13:21:34 +00:00
b29be7b2d5
[*] Hardened line bufferer
...
[+] Unstaged changes from last commit
2022-02-19 11:50:14 +00:00
be7e9271e6
[+] Added casts for pointer types
...
[*] Nuke more std:: references
2022-02-19 11:43:57 +00:00
6e8bb527e7
[*] Update compression api, made window bits optional
2022-02-19 11:16:25 +00:00
86ce9a9281
[*] Improve default window bit correction
2022-02-19 11:10:49 +00:00
9681450156
[*] Wrap Window bit validation around hasWindowbits check
2022-02-19 10:50:28 +00:00
9aa5d9f434
[*] Add missing reentrantWriteLockHandle in rwlock upgrade
2022-02-19 10:25:58 +00:00
0a03613a61
[*] Clean up commands.cpp
2022-02-19 09:05:58 +00:00
86ea34c7b1
[*] i think the spinlock was incomplete. not sure how to tune this yet
2022-02-19 06:36:50 +00:00
749b8deb8d
[*] Updated bit utilities
...
[*] Updated default string type
[*] Spinlocks can now timeout
[*] Finish RW lock write entrant mode
2022-02-18 17:50:33 +00:00
fac6571504
[*] Fix bugs in Mutex.NT.cpp
2022-02-18 12:04:10 +00:00
df1c36bd28
[*] Refactor CpuInfo
...
[*] class -> struct RSA interface
2022-02-18 10:46:51 +00:00
1479219b04
[*] Fix: new compression subsystem objects weren't being allocated with nothrow
2022-02-18 09:17:58 +00:00
e9c84dd208
[*] fix wxwidgets build error
2022-02-18 03:39:37 +00:00
0ca7b2c668
[*] Minor optimization: iconv locale translation
...
[*] Minor optimization: AuMin/Max return reference [again]
2022-02-17 20:37:29 +00:00
cf70f0d45c
[*/+/-] MEGA COMMIT. ~2 weeks compressed.
...
The intention is to quickly improve and add util apis, enhance functionality given current demands, go back to the build pipeline, finish that, publish runtime tests, and then use what we have to go back to to linux support with a more stable api.
[+] AuMakeSharedArray
[+] Technet ArgvQuote
[+] Grug subsystem (UNIX signal thread async safe ipc + telemetry flusher + log flusher.)
[+] auEndianness -> Endian swap utils
[+] AuGet<N>(...)
[*] AUE_DEFINE conversion for
ECompresionType, EAnsiColor, EHashType, EStreamError, EHexDump
[+] ConsoleMessage ByteBuffer serialization
[+] CmdLine subsystem for parsing command line arguments and simple switch/flag checks
[*] Split logger from console subsystem
[+] StartupParameters -> A part of a clean up effort under Process
[*] Refactor SysErrors header + get caller hack
[+] Atomic APIs
[+] popcnt
[+] Ring Buffer sink
[+] Added more standard errors
Catch,
Submission,
LockError,
NoAccess,
ResourceMissing,
ResourceLocked,
MalformedData,
InSandboxContext,
ParseError
[+] Added ErrorCategorySet, ErrorCategoryClear, GetStackTrace
[+] IExitSubscriber, ETriggerLevel
[*] Write bias the high performance RWLockImpl read-lock operation operation
[+] ExitHandlerAdd/ExitHandlerRemove (exit subsystem)
[*] Updated API style
Digests
[+] CpuId::CpuBitCount
[+] GetUserProgramsFolder
[+] GetPackagePath
[*] Split IStreamReader with an inl file
[*] BlobWriter/BlobReader/BlobArbitraryReader can now take shared pointers to bytebuffers. default constructor allocates a new scalable bytebuffer
[+] ICharacterProvider
[+] ICharacterProviderEx
[+] IBufferedCharacterConsumer
[+] ProviderFromSharedString
[+] ProviderFromString
[+] BufferConsumerFromProvider
[*] Parse Subsystem uses character io bufferer
[*] Rewritten NT's high perf semaphore to use userland SRW/ConVars [like mutex, based on generic semaphore]
[+] ByteBuffer::ResetReadPointer
[*] Bug fix bytebuffer base not reset on free and some scaling issues
[+] ProcessMap -> Added kSectionNameStack, kSectionNameFile, kSectionNameHeap for Section
[*] ProcessMap -> Refactor Segment to Section. I was stupid for keeping a type conflict hack API facing
[+] Added 64 *byte* fast RNG seeds
[+] File Advisorys/File Lock Awareness
[+] Added extended IAuroraThread from OS identifier caches for debug purposes
[*] Tweaked how memory is reported on Windows. Better consistency of what values mean across functions.
[*] Broke AuroraUtils/Typedefs out into a separate library
[*] Update build script
[+] Put some more effort into adding detail to the readme before rewriting it, plus, added some media
[*] Improved public API documentation
[*] Bug fix `SetConsoleCtrlHandler`
[+] Locale TimeDateToFileNameISO8601
[+] Console config stdOutShortTime
[*] Begin using internal UTF8/16 decoders when platform support isnt available (instead of stl)
[*] Bug fixes in decoders
[*] Major bug fix, AuMax
[+] RateLimiter
[+] Binary file sink
[+] Log directory sink
[*] Data header usability (more operators)
[+] AuRemoveRange
[+] AuRemove
[+] AuTryRemove
[+] AuTryRemoveRange
[+] auCastUtils
[+] Finish NewLSWin32Source
[+] AuTryFindByTupleN, AuTryRemoveByTupleN
[+] Separated AuRead/Write types, now in auTypeUtils
[+] Added GetPosition/SetPosition to FileWriter
[*] Fix stupid AuMin in place of AuMax in SpawnThread.Unix.Cpp
[*] Refactored Arbitrary readers to SeekingReaders (as in, they could be atomic and/or parallelized, and accept an arbitrary position as a work parameter -> not Seekable, as in, you can simply set the position)
[*] Hack back in the sched deinit
[+] File AIO loop source interop
[+] Begin to prototype a LoopQueue object I had in mind for NT, untested btw
[+] Stub code for networking
[+] Compression BaseStream/IngestableStreamBase
[*] Major: read/write locks now support write-entrant read routines.
[*] Compression subsystem now uses the MemoryView concept
[*] Rewrite the base stream compressions, made them less broken
[*] Update hashing api
[*] WriterTryGoForward and ReaderTryGoForward now revert to the previous relative index instead of panicing
[+] Added new AuByteBuffer apis
Trim, Pad, WriteFrom, WriteString, [TODO: ReadString]
[+] Added ByteBufferPushReadState
[+] Added ByteBufferPushWriteState
[*] Move from USC-16 to full UTF-16. Win32 can handle full UTF-16.
[*] ELogLevel is now an Aurora enum
[+] Raised arbitrary limit in header to 255, the max filter buffer
[+] Explicit GZip support
[+] Explicit Zip support
[+] Added [some] compressors
et al
2022-02-17 00:11:40 +00:00
19ebdf3761
Preparing for initial WSA network POC rewrite, not porting gen1 code. Linux support is way behind. Will work on it soon.
...
[*] Minor refactors
[*] Begin refactoring the Processes subsystem
[*] Added empty files ready to move the gross c++ functional callback in the parse subsystem to a dedicated interface w/ utils
[*] Broke out Win32 Process into an NT base variant (Process.NT.cpp) with Win32 overloaded process exit pokes (Process.Win32.cpp)
2022-01-29 12:36:25 +00:00
a6f96315f3
[+] Move raminfo IsWin10 check over to the new cheaty api
2022-01-28 01:20:38 +00:00
9df677cab9
[*] I really shouldn't risk a force flush here, but let's try it, it might work
2022-01-28 01:16:14 +00:00
3f2f66f4ec
[+] Added doxing fingerprint
...
[*] Use RAII safe lock guard instead of ->Lock(), ->Unlock() that would not be unwound
2022-01-28 01:09:12 +00:00
086de4600f
[*] Minor adjustments
2022-01-28 00:45:37 +00:00
d8e000b5c3
[*] Prevent WriteLater from entering a deadlock condition. OnFlushs are no longer atomic
...
[*] Fix up gen1 copypasta
[+] ConsoleMessage::ToPersistentString
[*] Adjust ConsoleMessage formatting
2022-01-27 20:28:20 +00:00
b1c4e26f91
[*] Force NT exception handles to create the directory tree if not present.
...
[*] Fix panic on mayday
2022-01-27 08:15:33 +00:00
5bc1985eca
[+] Added ToString to CpuId
...
[*] Added const modifier to cpuid functions
[*] Added OnExit to planned API interface
[*] BlobReader now holds onto a handle of a ByteBuffer, allowing for shared usage -> aiding in the mitigation of allocations/second and needless heavy copy of objects
2022-01-27 07:45:42 +00:00
d7c6d66fad
[+] AuBitsToLower, AuBitsToHigher (returns half of an input word)
...
[+] AuPopCnt
[+] NormalizePath, GetFileFromPath, GetDirectoryFromPath, GoUpToSeparator
[*] Fix Version Helpers again
[*] Fix registry locale memory check under read registry in SWInfo
[*] Breakout portable process code away from evil win32 code
[*] .dynlib -> .dylib under macos
2022-01-27 05:52:45 +00:00
fbd437d3d4
[+] Added LocaleStrings.hpp -> NewLine
...
[*] LocaleStrings should always return constant references
[*] Readded line splitting logic to the new Logger class
2022-01-26 08:30:19 +00:00
0bcc0aa508
[*] added __fastfail, not quite the op i was thinking of, but it'll do.
2022-01-26 05:53:18 +00:00
fe424115f4
[*] unfuck VersionHelpers.cpp
2022-01-26 04:49:35 +00:00
0d388dc4e2
[+] Added VersionHelpers
...
[*] Detabify
[*] Broke up CpuInfo
[*] I want to rewrite this trashy readme soon
2022-01-26 04:22:12 +00:00
7eb6900e9f
[+] Added shared pointer extension, begin experimenting defining throw-on-null mechanic
...
[+] AuRemoveConst
[*] Support circular reference in Aurora pipelines Include, added support for early Aurora::Build AuroraEnum
[+] Added SWInfo API
[+] AU_COPY_MOVE, AU_MOVE, AU_COPY to go with AU_NO_... variants
[+] Adding GetProcessId
2022-01-26 00:22:02 +00:00
a0d38ff168
[*] Add missing header
2022-01-24 21:38:17 +00:00
299a1c5312
[*] Fix pointer alignment issue in NT sections
...
[*] Fix possible spinlocks
2022-01-24 20:13:08 +00:00
e5e36bd887
Large Commit
...
[*] Fix deadlock in the async subsystem (NoLockShutdown vs Shutdown in exception handler)
[+] Added ProccessMap NT variant
[+] Added ToolHelp image profiling
[*] Improved exception awareness
[*] Delegated SpawnThread to isolated TU, ready for reuse for RunAs and XNU Open - now with horrible evil alloc that could fail
[+] Added header for future api 'UtilRun'
[*] Improve NT core detection
[*] Changed small affinity bitmap to AuUInt64 instead of AuUInt32
[+] Added data structure to hold cpuids/affinity masks
[+] Implemented logger sinks
[+] Implemented logger glue logic
[*] Began migrating older loggers to sink-based default devices
[*] Minor refactors
[*] Improved internal exception discarding, not yet nothrow capable
[*] Minor create directory fix
2022-01-24 18:43:53 +00:00
8db441ff33
[*] preparing for autismo
2022-01-21 22:37:29 +00:00
ac467734a0
[*] Preparing to work on extending the console api and telemetry subsystems
2022-01-21 16:26:35 +00:00
0c09d62332
[TODO] fork on macos will nuke everything. use native apple macos api
2022-01-20 22:42:53 +00:00
831649233e
[*] I've seen reports that apple is special. Only documentation on google relating to this is dated 1993 and something irrelevant with new theme, also dated 1993.
2022-01-20 21:21:33 +00:00
56e08ac3d9
[*] minor fix in refactored code -> console line breaks got dinked by fedex in the moving process
2022-01-20 20:30:03 +00:00
490d3892a2
[*] wrap win32 specific path around AURORA_PLATFORM_WIN32
2022-01-20 19:27:14 +00:00
6a35b68fdc
[*] force upcast to u64 under ram calc
2022-01-20 19:23:37 +00:00
e30ccbc90f
[*] mo better memory reporting info
2022-01-20 19:20:23 +00:00
0510ee20ae
[*] Loop should always enter alertable mode
...
[*] More AuList<AuUInt8> -> AuByteBuffer
2022-01-20 17:45:52 +00:00
81bfa7fba6
[*] Begin truncating mapped types
2022-01-20 16:37:22 +00:00
02aa0dfd13
[*] eradicate AuList<AuUInt8> abuse, switch over to AuByteBuffer
2022-01-20 16:04:53 +00:00
1f825b4754
[*] Update build script
...
[*] Minor 32bit intrin fix
[-] Remove pragma links
2022-01-20 13:27:45 +00:00
c965d8384f
[+] AuStaticPointerCast
...
[*] More refactoring
2022-01-19 18:53:22 +00:00
69f7260514
[*] cont
2022-01-19 18:37:09 +00:00
1fac842e24
[*] nuked even more of the stl dependency
...
[-] std::forward
2022-01-19 18:32:18 +00:00
6b9bddeeaf
nuke more of the stl
2022-01-19 18:18:13 +00:00
d26471b173
so long gay bowser
2022-01-19 17:53:33 +00:00
bafe2893b8
[+] Added ^/ mount, mapped to binary path
2022-01-19 17:18:06 +00:00
7759d38ed0
[*] Exterminate more std:: references
2022-01-19 17:08:13 +00:00
7316aa0f8f
[-/+] Nuke std::tm dependency from the public api
...
[*] Major bug in heap allocation, am brain damaged
2022-01-19 15:25:47 +00:00
f1040a67b0
...cont
2022-01-19 11:47:29 +00:00
6135618e24
[+] Added AuIsThreadRunning
...
[*] Fix path bug
[*] Fixed two async shutdown bug
2022-01-19 02:49:44 +00:00
d28a4576ba
[*] Recommit this. Did I somehow nuke it?
2022-01-18 20:50:09 +00:00
9065d95851
[*] Fix heap leak -> TryRelease was never called once count hit zero
2022-01-18 19:48:23 +00:00
413d3968ad
[*] Added an option for leaking strong heap pointers (ToSmartPointer)
2022-01-18 19:31:15 +00:00
62aecf3308
[*] Fix auline macro under msvc
...
[*] Breakout ByteBuffer into inl files
2022-01-18 19:00:48 +00:00
09d1db69f2
[+] added AU_THROW_STRING
...
[*] extend ByteBuffer
[*] minor reformatting
2022-01-18 16:49:50 +00:00
29bd8dca0c
[*] Continue to perfer beginthreadex, use CreateThread when the OS loader is locked on Win32
2022-01-18 16:02:24 +00:00
82370fea1d
[*] Whoops? Disambiguate questionable if. Operator precedence shouldn't have yielded a different ast
2022-01-18 14:42:31 +00:00
4dddcb108e
[+] Added GetUserHome, GetAppData, GetRootAppdata, GetWritableAppdata
...
[*] Dont fail on non-blocking /dev/urand
[+] Added if not initialized check under RNG/unix fclose
[+] Add missing debug apis ready for report to linux
[*] Update build script for WIP branch
2022-01-18 14:27:06 +00:00
235225ec9d
[+] Added WriteEoS
...
[*] Fix two build issues (missing = 0 in vtbl and messed up macros)
2022-01-17 15:21:36 +00:00
77775410ec
[+] Added some notes about safer low memory condition handling
...
[*] Adjusted code style in MSDN reference code
2021-12-26 15:51:31 +00:00
9c8224b931
[+] Added TryLockGuard; AU_TRY_LOCK_GUARD_RET_DEF, AU_TRY_LOCK_GUARD, AU_TRY_LOCK_GUARD_RET_VAL, AU_TRY_LOCK_GUARD_RET_DEF
...
[+] Added explicit AU_WHAT macro, I think people are familiar with this nomenclatures, not sure.
[+] Added try catch around logger write line. I'm sure something will explode around here sooner or later
2021-12-24 16:25:12 +00:00
4bd5c4604c
[+] Added global AuLog[...] aliases to make the logger more bearable when I get around to finishing it
...
[+] Rationalize /var over /opt
[+] Ensure all users can access data under ProgramData
2021-12-24 15:49:28 +00:00
a20bb97128
[+] Explicit async/blocking read process stdout/err
...
[*] Fixed missing inherit handles flag
[TODO] consider CREATE_NO_WINDOW flag when refactoring create process object
2021-12-24 14:34:55 +00:00
31695ae63b
[*] Fix stupid mental typo of 'peek' -> 'peak'
2021-11-22 16:16:02 +00:00
63fab703cc
[*] Amend error message fmt arg in Process.cpp
...
{*] Obvious linux build error
2021-11-16 02:44:11 +00:00
d99c23d638
[+] Initial untested implementation of the loadlibrary impl for the load module api
2021-11-16 01:10:00 +00:00
050f48f9dc
[*] Update UNIX library resource paths to account for the UsrMerge consensus across UNIX package distributions.
...
when
/lib = sys,
/usr/lib = usr/vendor is wrong
nowadays:
/lib >>SYMLINK>> /usr/lib,
/usr/lib = system libraries, /usr/local/lib = vendor.
2021-11-16 01:09:22 +00:00
d4ec3749e7
[*] fix new build chain build issues
...
[-] test trash from workpairimpl
[+] Process.hpp impl stub
2021-11-15 13:07:38 +00:00
d18affeea2
[+] Added first attempt at the windows version of WaitMultipleObjects/ This will be removed shortly.
...
[*] Update readme
[*] Update QueryBsdHwStat
2021-11-09 00:04:00 +00:00
6888aaaee7
[*] Fix bad formats
2021-11-08 01:15:37 +00:00
82c065ae0c
[*] Improve my nasty template enable when overloadable API by nudging an empty initializer list argument towards defining an empty FJob again
...
[-] Remove old deprecated comment
2021-11-08 00:48:04 +00:00
4282bb3fa6
[+] Added reschedClockAbsMs/reschedClockAbsNs
...
[*] Added AU_TEMPLATE_ENABLE_WHEN to utility APIs where there are PId and Id overlods
2021-11-08 00:11:01 +00:00
16b4d65910
[*] Update Unix stat impls error message
2021-11-07 22:32:54 +00:00
22103a8ad3
[*] This this this
2021-11-07 20:26:54 +00:00
f6b254e436
[*] Bug fixes. Socket stat math didn't make much sense.
2021-11-07 20:26:54 +00:00
7211c25936
[*] Made the UTF8/32 implementation less wrong
2021-11-07 07:44:42 +00:00
320d6b95ce
[-] Remove experiment that was accidently left in Entrypoint.cpp
2021-11-06 02:20:19 +00:00
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