hayodea
4dbc066aac
New class: SyncCancelerForAsyncWork
...
This class abstracts the pattern of running an async callee which
needs to be able to be canceled from a synchronous code path.
It really just lifts the logic that's regularly used in the
StimulusProducer path into a reusable abstraction.
2026-05-29 06:22:02 -04:00
hayodea
ca2cccaa9c
New multi-op result set class
2026-05-24 16:23:07 -04:00
hayodea
a14d622eaf
PuppetApp: Lifetime mgmt ops are now Viral
...
They no longer accept an exc_ptr and lambda for cb.
2026-05-24 16:11:08 -04:00
hayodea
16e0350245
CoQutex: Add instance name for debugging
2026-05-24 16:10:30 -04:00
hayodea
5f265567d1
Explain why CoQutex is superior to LockSet
2026-05-24 13:05:09 -04:00
hayodea
e7707dacdf
Unify [Non]PostingInvoker into Invoker
2026-05-24 04:32:44 -04:00
hayodea
5d139abff2
Split classes into neater header units
2026-05-24 04:28:30 -04:00
hayodea
e29bee52cf
Group now supports heterogeneous invokers for fanout
2026-05-24 04:01:34 -04:00
hayodea
daad2a8c95
Impl ViralNonPostingInv; fix member coro thisptr;
2026-05-24 02:25:04 -04:00
hayodea
abdb857e55
PuppetApp: Now use coros instead of CPS
2026-05-19 10:46:52 -04:00
hayodea
525530b567
Compilation fixups
2026-05-19 10:06:23 -04:00
hayodea
3f91cbf104
CompThr: make new changes compile
2026-05-19 10:01:15 -04:00
hayodea
6396cce7e0
Impl NonViralNonPostingInvoker; rename other invokers around posting behaviour
2026-05-19 09:57:24 -04:00
hayodea
15295ac05e
Update reutrn type
2026-05-19 06:45:59 -04:00
hayodea
dc58e5d521
CompThr: wrap lifetime mgmt ops in awaitable adapters
2026-05-19 06:18:23 -04:00
hayodea
e94aaf9323
Update include paths and namespacing
2026-05-17 17:26:21 -04:00
hayodea
83ad680c68
Move cps files into cps/
2026-05-17 17:25:29 -04:00
hayodea
1d1cb099db
Regress to io_service rather than io_context
2026-05-17 17:12:11 -04:00
hayodea
0dcfa754b6
Call std::terminate if await_* are called on NonViral*Invoker
2026-05-17 17:11:43 -04:00
hayodea
ad4ea3ccac
Add new Spinscale C++ Coroutine support
2026-05-17 16:52:04 -04:00
hayodea
596ad367e2
dbg:Gridlock detection: exclude locks where hasBeenReleased=true
2026-03-05 23:29:48 -04:00
hayodea
e4332323f9
CompThr: Set keepLooping=false in ctor
2026-03-05 23:29:10 -04:00
hayodea
7eff7a6a9c
Dbg:traceContinHistForDeadlock: consult LockUsageDesc::hasBeenReleased
...
Don't raise the alarm for a deadlock if the lock has already been
released at the moment of checking.
2026-03-05 23:10:05 -04:00
hayodea
85ac715772
SerializedAC:analyze all locksets in contin chain;
...
Not only those of type <OriginCbT>.
* Fix indentation too.
2026-03-05 22:41:02 -04:00
hayodea
b4b61bb2b6
CompThr: Expose name arg for CompThr derivatives' ctors
...
This enables us to statically set the thread names at compile time,
or at least during construction at runtime.
This completes the crux of the splitting work required to
functionally split libspinscale off from SMO.
2026-02-22 18:51:21 -04:00
hayodea
a7521f3760
Split: Cleanly split spinscale off from SMO
...
Remaining areas to split off:
* The handleLoopException, exceptionInd logic.
* getThreadName().
2026-02-22 17:38:53 -04:00
hayodea
e6a924a3f7
Add new class PuppeteerComponent
2026-02-19 19:53:41 -04:00
hayodea
01a9c6ecc9
Change type: PuppetComponent::thread to PuppetThread
2026-02-18 02:03:19 -04:00
hayodea
e813962168
Rename mrntt=>pptr
...
We'll probably use the name "marionette" as an application-level
name.
2026-02-18 01:13:02 -04:00
hayodea
e77ecd447d
Import SequenceLock from SMO
2026-02-17 11:18:33 -04:00
hayodea
130921062c
CallableTracer: fix namespace and decouple from SMO::OptionsParser
...
We now have a static local var that informs libspinscale whether or
not to print the callable traces at runtime.
2026-02-17 11:05:00 -04:00
hayodea
18b632e5bb
Move CRT Cmdline args obj & impl into libspinscale
2026-02-17 10:40:19 -04:00
hayodea
3f3ff1283f
Initial commit of libspinscale library
2025-12-28 03:54:22 -04:00