hayodea
44894299b4
Group: Enable aggregate exception to be passed as ptr
2026-06-07 19:33:42 -04:00
hayodea
edde8f4a64
Don't auto-throw non-viral callee exceptions before callerLambda
2026-06-06 04:47:59 -04:00
hayodea
8a7d4272bd
Add readme file
2026-06-01 09:40:03 -04:00
hayodea
c60854845d
New DynamicViralPostingInvoker: takes runtime post-to target
2026-05-31 07:13:10 -04:00
hayodea
a53e0ca325
PostingPromise: reorder post-to target to be 1st arg
2026-05-30 21:45:51 -04:00
hayodea
42076d6c78
PostingPromise: Add dynamic post-to io_context targeting
...
This allows us to dynamically choose the target that a PostingPromise
coro will be posted to at runtime rather than only posting to the
statically configured ThreadTag::io_context() target. Big usability
improvement.
2026-05-30 20:44:53 -04:00
hayodea
2749d77d65
Remove boostAsioLinkageFix from headers
2026-05-30 12:10:38 -04:00
hayodea
3ea1475757
Boost.ASIO: potential fix for top_E shlib segfaults
2026-05-30 12:00:30 -04:00
hayodea
6df9407e65
Boost.ASIO: update io_service=>io_context
2026-05-30 11:57:57 -04:00
hayodea
0afa3e16b8
SyncCanceler: Fix visibility; reuse helper method
2026-05-29 12:05:36 -04:00
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
1db3494d26
Remove superfluous file
2026-05-18 05:59:52 -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
b6eb502e56
Fixing .deb package generation, I suppose
2026-03-06 01:08:34 -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
e98aae7e7e
Qutex:backoff: Fix use after free
2026-03-05 20:02:55 -04:00
hayodea
dab5477249
Qutex: fix use after free
2026-03-05 19:53:21 -04:00
hayodea
8af362c791
PuppetApp: exitAllThreads should call its own final segment
...
Previously it called the executeGenericOpOn which didn't call join()
on threads
2026-03-05 19:47:51 -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
a3931d7b8f
CompThread: Rearrange global var defs
2026-02-17 23:45:46 -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
latentprion
6dbab54f50
Initial commit
2025-12-28 03:51:50 -04:00