Commit Graph

744 Commits

Author SHA1 Message Date
4086fc94bb [*] bug fix: RNG strings werent deterministic 2023-04-28 04:59:09 +01:00
da69428d7e [+] IProtocolStack::PrependInterceptorEx
[+] IProtocolStack::PrependSingleFrameProcessor
[+] IProtocolStack::PrependSingleFrameProcessorEx
[+] IProtocolStack::GetArrayOfInterceptors
[+] IProtocolStack::GetInterceptorAtIndex
[+] IProtocolPiece::ToInputWriter
[+] IProtocolPiece::GetExtendedInterceptor
[+] IProtocolPiece::GetShortPipeInterceptor
2023-04-28 02:41:45 +01:00
f8219542c5 [*] precache socket network state errors here before the last transaction is released 2023-04-27 10:44:15 +01:00
eb4ee3143d [*] bug: missing link 2023-04-27 10:26:41 +01:00
f1e9a7262b [*] pipe processors with a stack attached to them should destroy the stack to forcefully break circular references in user code 2023-04-27 06:10:09 +01:00
f70d6392d9 [*] harden 2023-04-27 01:34:29 +01:00
efadd964be [*] Improved disconnect reason reporting: HasErrorCode under the NT network async stream object 2023-04-26 20:32:25 +01:00
4b79aa902b [*] i dont think this path should ever be hit, but just to be certain, lets check the networks output channel translation object for an error if the socketbase doesnt know of the last fatal error code 2023-04-26 20:22:11 +01:00
b8540c77a7 [*] improved network error reporting 2023-04-26 20:13:17 +01:00
3f0368b99d [*] cache these adapter allocations away 2023-04-26 07:37:14 +01:00
30b0c2e0ba [*] Preemptive GetOverlappedResult fast-paths under WaitMultiple2 that rely on the alertable yield under next read/write cannot be trusted if the read count is zero.
Direct IO-specific quirk?
Windows 7 specific quirk?
Direct IO under Win7 specific quirk?
idk, but this fixes it
2023-04-26 07:25:45 +01:00
22c4d25759 [*] amend cdf5a499, bKillPipeOnFirstRootLevelFalse not respected 2023-04-25 12:57:15 +01:00
cdf5a499cb [*] Improved pipe work awareness under protocol stack to allow for propagation of error conditions such that the top most interceptor can kill the pipe work 2023-04-25 12:13:16 +01:00
e0d7bbea01 [*] stream regression 2023-04-25 10:09:37 +01:00
664eb270dc [+] IIOPipeWork::GetBytesProcessedInterframe
[*] IOPipeProcessors will now cap reported progression to the requested length if the requested page size would mean we overrun it.
2023-04-25 07:38:36 +01:00
f52175d7ce [*] build error 2023-04-25 02:59:18 +01:00
36dee459ca [*] TryLockRead was unware of RWRenterableLocks specifications
(not an issue for regular blocking lock paths)
2023-04-24 19:39:36 +01:00
8dcf857da5 [*] updated comments 2023-04-23 19:39:54 +01:00
f74a41e286 [*] Refactor our thread primitives for an SOO change, where the SOO[_t]-suffix is no longer required, resulting a new type conflict issue 2023-04-23 19:25:37 +01:00
5fd655b501 [*] further deprecate 2023-04-22 23:08:49 +01:00
772d08fee6 [*] amend 2a33d61e 2023-04-22 23:04:46 +01:00
2a33d61e63 [*] further deprecate high res clock
[*] further posix resolution reporting
2023-04-22 22:58:20 +01:00
945d54ef78 [*] i did a dumb 2023-04-22 22:38:37 +01:00
6d73dde240 [+] Thread + Process clocks 2023-04-21 22:08:56 +01:00
92af491fe8 [*] if (count == 1) * 2023-04-21 18:52:30 +01:00
36c163d90c [*] 2af2eadf cont 2023-04-19 23:57:56 +01:00
d7d514c6b7 [*] protocol-stack ticks now check against the buffers error flags to ensure Writes/Reads weren't being silently dropped in user code 2023-04-19 23:46:56 +01:00
2af2eadfa8 [*] Resolve: protocol-stack link bug (multiple append failure / missing next link) 2023-04-19 23:35:48 +01:00
00129255f8 [*] changed this to be a soft-failure 2023-04-19 04:03:49 +01:00
11ba608727 [*] bonk 2023-04-19 03:54:55 +01:00
bfd4069994 [*] logger mitigations cont - current thread callback may as well be sanitized as well 2023-04-18 02:30:11 +01:00
b32bf5f1f1 [*] Logger mitigations
Closes #47
2023-04-18 02:09:16 +01:00
b2311a8824 [+] IProcessSectionMapView::LockSwap
[+] IProcessSectionMapView::UnlockSwap
[*] Fix critical tag under ILogger
[*] Added missing includes to experimental APIs
2023-04-17 15:55:51 +01:00
0c494cb99a [*] another preemptive linux fix. i missed a step in calculating the mask (i didnt calculate the mask at all) 2023-04-16 23:58:27 +01:00
53a29a6c13 [*] flag consistency 2023-04-16 23:41:06 +01:00
4cac821fbb [+] Added critical log level
[*] Fix win32 DELETE bug
2023-04-16 23:38:31 +01:00
5d979bff6d [*] I dont think this path is really hit but still we shouldnt wake up after 4 seconds under here 2023-04-12 12:26:53 +01:00
abed78a15f [*] QtCore6 crash on Windows 7 2023-04-06 22:24:47 +01:00
6e7cee70e1 [*] added mandatory smt spin here 2023-04-05 09:42:48 +01:00
c6971efab7 [*] fix ns (<1s) padding 2023-04-05 08:30:20 +01:00
6c25b5a5e6 [*] atomicity bug fix: hold up this is bad 2023-04-03 10:13:29 +01:00
d755a9d651 [*] Massive perf boost by removing atomic and
[*] Refactor ambiguous IWaitable::Lock(timeoutMs) to LockMS to prevent final using collisions
2023-04-03 08:21:44 +01:00
39072499dd [*] remove dumb cas loops
[*] refactor
2023-04-01 09:53:00 +01:00
b3ed716e94 [*] fix minidump writing 2023-03-31 04:24:19 +01:00
238874cf8c [*] u wot 2023-03-27 23:52:41 +01:00
168e6e1e39 [*] Cleanup and harden log classes 2023-03-27 06:21:42 +01:00
a60c1e9503 [+] AuLog.LogClassGetNext
[+] AuLog.LogClassRelease
[+] AuLog.LogClassAssociateName
[+] AuLog.LogClassGetNameSafe
[+] AuLog.LogClassGetNameUnsafe
[+] AuLog.LogClassInUse
[+] AuLog.LogClassTotalInUse
[+] AuLog.LogClassTotalAvailable
2023-03-23 00:01:49 +00:00
f1826cc27f [*] wanted to do this for a while 2023-03-22 18:11:32 +00:00
440b5877b2 [*] link errors 2023-03-22 16:59:21 +00:00
184ef34838 [*] This error should be logged under future telementry
(legacy 2020 print)
2023-03-22 15:20:36 +00:00
c22a13ec56 [*] preemptive linux fix [?] 2023-03-22 15:19:32 +00:00
8272959249 [*] Further compress 2023-03-22 13:42:07 +00:00
82d455c4b1 [+] AuTime::EClock
[+] AuTime::IClock
[+] AuTime::GetWallClock
[+] AuTime::GetProcessClock
[+] AuTime::GetSteadyClock
[+] AuTime::GetClockFromEnum
[*] Rename Timer -> Stopwatch
[*] Refactor a serial AuString to a string view

(*amended year)
2023-03-21 10:26:16 +00:00
6974c713f7 [+] Allocationless thread primitives
[*] Rename SMPYield to SMTYield
2023-03-21 03:19:22 +00:00
5d8f4e6901 [*] Further optimize 2023-03-17 15:41:05 +00:00
a1f4614316 [*] i see a possible bug 2023-03-16 22:18:52 +00:00
1476307a60 [*] Force this optimization under nonship builds 2023-03-16 19:24:05 +00:00
e5981a5747 [*] Reintroduce the older implementation based on Vista sync primitives when best implementation under NT 5.1 apis isn't available (microsoft being cunts under the false guise of sandboxing xbox and uwp) 2023-03-16 18:25:23 +00:00
02684d543e [*] New NT mutex should carry the fail under this unlikely path 2023-03-16 17:33:29 +00:00
2863d2c910 [*] pls do a zoomie 2023-03-15 17:54:59 +00:00
b4b7e4a083 [*] Repressing these vtables helps us get our time to wake down 2023-03-15 16:53:43 +00:00
89057139b3 [*] Further work on the legacy NT primitives
(can still be improved, optimized, and bug fixed)
(will add a build toggle between the old SRW and this)
(...and ironically it seems like our time to wake times are worse now)
2023-03-15 16:13:09 +00:00
0ad854284e [*] NT Condvar: Clean up 2023-03-15 08:43:46 +00:00
49bfecee32 [*] i need sleep and i broke the core primitives 2023-03-15 08:30:21 +00:00
f354a202ad [*] i forgot to remove this member and we took a massive sizeof hit for it 2023-03-15 03:23:17 +00:00
f24a1c1924 [*] im not even going to switch to a cross arch to assume this isnt going to compile
(actually it looked even worse under compiler explorer. this patch is much better)
2023-03-15 03:12:10 +00:00
e88718a48b [*] Windows 7 optimization [?] 2023-03-15 02:38:26 +00:00
2fc4564f5d [*] Amend legacy primitive 2023-03-15 01:03:42 +00:00
13028d767b [*] Cleanup optimization commit 2023-03-15 00:48:37 +00:00
046b70d7bc [*] [Pre-Win8.1] Optimize for modern nt instead of windows vista synch in legacy path; yes, this is how windows 7 and vista synch is somewhat implemented.
...on apis that predate those kernel revisions. so, technically this might be able to run on xp.
[*] GetThreadCookie optimization for all platforms
2023-03-15 00:35:29 +00:00
14c7d538e1 [*] Fix up modern WakeOnAddress fast path, of, well, WakeOnAddress
[*] Clean up AuEvent
[*] Dropped default spin power
2023-03-13 23:57:32 +00:00
2745ef23a0 [+] Brotli [de]compressor 2023-03-12 21:03:47 +00:00
1ba0519d8d [*] Amended UNIX yield paths 2023-03-12 20:59:03 +00:00
e82ec4a343 [+] IWaitable::LockNS(...)
[+] AuThreading.WakeAllOnAddress
[+] AuThreading.WakeOnAddress
[+] AuThreading.WakeNOnAddress
[+] AuThreading.TryWaitOnAddress
[+] AuThreading.WaitOnAddress
[*] Further optimize synch primitives
[+] AuThreadPrimitives::RWRenterableLock
2023-03-12 15:27:28 +00:00
64af4d0fa8 [+] AuAsync::IThreadPool::PollAndCount
[+] AuAsync::IThreadPool::RunAllPending
2023-03-05 12:55:07 +00:00
a550a6f58f [*] Harden normalize path 2023-03-05 09:16:09 +00: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
d2ad4cd10d [*] Solve another deadlock race condition under SysShutdown 2023-02-17 04:44:17 +00:00
eb4e40d548 [*] Updated deinit 2023-02-16 18:44:28 +00:00
7223071877 [*] Updated EP 2023-02-16 18:30:56 +00:00
88b0270435 [+] Broke out NT LoadLibrarys to a dedicated root AuProcAddesses.[NT.]hpp 2023-02-16 16:01:21 +00:00
c4fae31057 [*] Another shutdown "fix" 2023-02-16 01:01:21 +00:00
1cd2d82093 [*] Fix shutdown races under V8 + JS + Gtk branch 2023-02-16 00:45:10 +00:00
9d71b5c04f [*] Found another race condition 2023-02-11 19:37:30 +00:00
ba9ddded75 [*] fix crash in an empty unit test on deinit 2023-02-09 19:28:01 +00:00
25ffeec543 [*] Revert last commit. Doing the correct thing just resulted in the console not being flushed 100% of the time.
Oh well, i'll investigate later. This should help.
2023-02-09 13:08:13 +00:00
cb920e1ee1 [*] Win32: Delegate last nights hack before bed to grug
(unix parity)
2023-02-09 12:37:32 +00:00
76069f2b43 [+] Win32: updated exit handler to include the exit button and shutdown 2023-02-09 00:53:12 +00:00
fa9f190635 [+] Missing Win32 exit handler. I was dumb enough to rely on the debug exception
[*] ...no this wont do for now
2023-02-09 00:42:56 +00:00
8293484a86 [*] Reworked AuAsync ThreadPool shutdown (again)
[*] Fixed nested lock under WorkItem
2023-02-08 18:23:37 +00:00
75c37f4e55 [*] Fix consoletty (the console) and the thread racing on exiting causing a deadlock 2023-02-06 05:14:01 +00:00
8b6c93fba9 [*] Fix: ThreadPool::ResolveHandle throws null 2023-02-06 04:07:54 +00:00
013c1a00bd [*] Updated ConsoleFIO for the first time in a very long time 2023-02-05 14:28:03 +00:00
1e4971342d [*] big dumb 2023-02-04 19:46:35 +00:00
f43251c8fc [+] AuNet::ISocketChannelEventListener
[+] AuFS::UpdateTimes
[+] AuFS::UpdateFileTimes
[+] AuFS::CompressEx
[*] AuFS::Compress now rejects files that look to be already compressed
[+] AuFS::DecompressEx
[+] AuFS::Create
[+] AuFS::WriteNewFile
[+] AuFS::WriteNewString
[+] AuFs::FileAttrsList
[+] AuFs::FileAttrsGet
[+] AuFs::FileAttrsSet
[+] DirectoryLogger::uMaxLogsOrZeroBeforeCompress
[+] ISocketChannel.AddEventListener
[+] ISocketChannel.AddEventListener
[+] DirectoryLogger.uMaxLogsOrZeroBeforeCompress
[*] Fix UNIX regression
[*] Fix up stream socket channel realloc IPC
[*] Fix shutdown regression in pretty much everything thanks to 8ff81df1's dumbass fix
    (fixes fence regression on shutdown)
[*] Fix DirDeleterEx formatting of reported failed paths
[*] Fix up file not truncated if already exists bugs. Extended and alternative apis added.
[*] Fix ICompressionStream::ReadEx returning the wrong read value
[+] Legacy compression API can now self-correct once newer stream processor objects are added
2023-02-04 19:43:01 +00:00
7d46679969 [*] Fix RWLock regression in previous commit: (8ff81df1)
...despite being under lock for lock paths, we now need everything to be atomic.
[*] ...fixed monotonic timeouts under rwlock
2023-01-30 16:48:40 +00:00
8ff81df129 [*] Fix deadlock involving WaitFor under ThreadPool (shutdown race)
[*] Optimize mutex lock out of RWLockImpl::TryLockWrite
[*] Force all relevant members of RWLockImpl to be volatile just bc lol (afaik we cant justify it yet; however, i want to minimalize the risk of future issues in this type)
2023-01-30 14:35:48 +00:00
51a2816f3f [*] Merge GTK JS's branch fix for async shutdown
[+] IConditionMutex::TryLock()
... Timed is still too much of an ask for this interface, i think. There's a good reason as to why this isn't a iwaitable. This condvar interface must be as common and primitive as possible.
2023-01-30 13:26:17 +00:00