Commit Graph

62 Commits

Author SHA1 Message Date
hayodea 2f31e9a034 Adversarial review on test porting plan 2026-06-13 17:59:06 -04:00
hayodea a29c779f6e Tests: Add all tests from the coro creation repo
We went back and brought along all the tests we implemented while
we were building the new coro framework.
2026-06-13 17:17:57 -04:00
hayodea 1763685c0e Tests: Move qutex and nursery tests into Libspinscale repo 2026-06-13 16:17:40 -04:00
hayodea 016b2d26de SharedRsrcGrp: Allow construction of rsrc by copy 2026-06-13 11:46:16 -04:00
hayodea ffe86369e2 Add EnvKvStore for envvar parsing and interleaving 2026-06-11 19:16:46 -04:00
hayodea 00be517f30 Printing: print fewer blank newlines 2026-06-11 11:16:37 -04:00
hayodea ebf0fa2921 Nursery: Document intended usage form 2026-06-09 21:25:25 -04:00
hayodea d33e70f14a Nursery: document syncAwaitAll's caller io_context requirement for LLMs 2026-06-09 16:48:58 -04:00
hayodea 656aae37c8 Nursery: Capture onSettledCb before fillSlot in launch() 2026-06-09 10:55:33 -04:00
hayodea 5689ac3914 Nursery: Don't pass exceptions to main loop 2026-06-09 10:43:20 -04:00
hayodea 565e339a8b Nursery: Update examples to use slot and not lease in onSettled 2026-06-09 08:07:44 -04:00
hayodea b04b0db155 Add a Nursery class for dynamically managing nonviral coros 2026-06-09 05:46:51 -04:00
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