Simon Cruanes
f6ad345f31
fib: remove preprocessor
2025-07-09 16:24:49 -04:00
Simon Cruanes
f8d5c564de
remove version-dependent preprocessor
2025-07-09 15:42:23 -04:00
Simon Cruanes
2dcc858384
remove Atomic stubs, we're already depending on >4.12
2025-07-09 15:39:26 -04:00
Simon Cruanes
83acc18d3d
deprecate fibers
2025-07-09 15:28:33 -04:00
Simon Cruanes
5ea9a3f587
remove bounded_queue
2025-07-09 15:28:25 -04:00
Simon Cruanes
867cbd2318
fix core: better repropagating of errors
github pages / Deploy doc (push) Has been cancelled
Build and Test / build (push) Has been cancelled
Build and Test / build-compat (push) Has been cancelled
Build and Test / format (push) Has been cancelled
2025-06-20 16:49:27 -04:00
Simon Cruanes
eba239487c
add Fut.{cancel,try_cancel}
github pages / Deploy doc (push) Has been cancelled
Build and Test / build (push) Has been cancelled
Build and Test / build-compat (push) Has been cancelled
Build and Test / format (push) Has been cancelled
2025-05-21 11:48:12 -04:00
Simon Cruanes
213d9bdd19
revert previous delayed await
github pages / Deploy doc (push) Has been cancelled
Build and Test / build (push) Has been cancelled
Build and Test / build-compat (push) Has been cancelled
Build and Test / format (push) Has been cancelled
2025-05-02 13:04:04 -04:00
Simon Cruanes
bb9418d86a
format with 0.27
2025-05-02 10:58:50 -04:00
Simon Cruanes
d50c227578
perf: await on immediately ready timer queues its task
2025-05-02 10:51:46 -04:00
Simon Cruanes
b46a048401
feat: add Moonpool.yield on ocaml 5
...
a mere alias to Picos.Fiber.yield
2025-05-02 10:33:30 -04:00
Simon Cruanes
ed0eda226c
prepare for 0.8
2025-04-17 16:35:19 -04:00
Simon Cruanes
2b00a0cea1
feat(exn_bt): in show/pp, do print the backtrace when present
2025-04-15 10:10:02 -04:00
Simon Cruanes
3a5eaaa44d
api(fut): public alias 'a Fut.t = 'a Picos.Computation.t
2025-03-19 17:40:17 -04:00
Simon Cruanes
f0ea8c294d
single system call for signal blocking
2025-03-13 15:42:04 -04:00
Simon Cruanes
dd88008a0a
fix: do not die if we fail to block a signal
2025-03-13 10:45:21 -04:00
Simon Cruanes
c51a0a6bd4
don't try to block sigstop
2025-03-13 10:45:01 -04:00
Simon Cruanes
deb96302e1
mli for worker loop
2025-03-13 10:07:39 -04:00
Simon Cruanes
a20208ec37
feat: block signals in workers if asked to
2025-03-13 10:07:20 -04:00
Simon Cruanes
389f237993
CI
github pages / Deploy doc (push) Has been cancelled
Build and Test / build (push) Has been cancelled
Build and Test / build-compat (push) Has been cancelled
Build and Test / format (push) Has been cancelled
2025-02-21 14:02:05 -05:00
Simon Cruanes
06f3bdadb9
CI
2024-12-04 11:09:26 -05:00
Simon Cruanes
e481c48fe5
relax bound on picos to 0.5-0.6
2024-12-04 11:04:44 -05:00
Simon Cruanes
6ab9a691bf
feat hmap FLS: do not fail if run outside of a fiber
2024-12-04 10:27:04 -05:00
Simon Cruanes
ea1af6ed22
fix task local storage: type was too specific
2024-12-04 08:45:26 -05:00
Simon Cruanes
fa40cf8825
doc
2024-10-18 12:56:43 -04:00
Simon Cruanes
9a598b1efc
feat: add Fut.make_promise, have 'a promise = private 'a fut
2024-10-18 12:52:21 -04:00
Simon Cruanes
a143cc8489
feat fib: spawn_ignore now has ?on optional param
...
close #33
2024-10-03 13:17:07 -04:00
Simon Cruanes
20245d11f3
cleanup
2024-10-03 13:17:05 -04:00
Simon Cruanes
9b6a1d3718
Merge pull request #34 from c-cube/simon/fix-cancellation-issue-2024-10-03
...
fix fiber: use a single fut/computation in fibers
2024-10-03 13:07:51 -04:00
Simon Cruanes
a85bc80573
add example program from discuss
2024-10-03 12:43:52 -04:00
Simon Cruanes
6a44598a31
fix fiber: use a single fut/computation in fibers
...
otherwise we check the wrong computation for cancellation,
see https://discuss.ocaml.org/t/confused-about-moonpool-cancellation/15381
2024-10-03 12:37:51 -04:00
Simon Cruanes
f128e6c63a
Merge pull request #32 from c-cube/simon/update-chan-2024-09-25
...
update channels to make them bounded and more efficient
2024-09-26 21:38:09 -04:00
Simon Cruanes
c7f517cc28
bench prime: cli arg to pick chan size
2024-09-25 22:54:21 -04:00
Simon Cruanes
d4be74c1b7
cleanup
2024-09-25 22:54:18 -04:00
Simon Cruanes
e7ee012108
chan: go back to the lock-full version
2024-09-25 22:19:34 -04:00
Simon Cruanes
94998ea407
lock free chan
2024-09-25 22:17:41 -04:00
Simon Cruanes
854c3b819b
update tests and benchs
2024-09-25 22:17:31 -04:00
Simon Cruanes
3b8b4d040a
test: move t_chan_train to effect-based tests
2024-09-25 21:32:59 -04:00
Simon Cruanes
e7b4223332
bench_primes script
2024-09-25 21:32:53 -04:00
Simon Cruanes
35a69924d3
wip: change Moonpool.Chan so it's bounded
...
also push/pop require effects, the OCaml 4 version only allows
for try_push/try_pop.
2024-09-25 21:32:11 -04:00
Simon Cruanes
d8aa60558b
benchmark for a concurrent, channel-based, Erathostene prime sieve
2024-09-25 21:31:28 -04:00
Simon Cruanes
0d8767f45f
prepare for 0.7
2024-09-10 08:54:07 -04:00
Simon Cruanes
d7c8df43d9
no need to configure for us
2024-09-05 13:52:55 -04:00
Simon Cruanes
784127316d
add Moonpool_fiber.spawn_top_ignore
2024-09-05 13:25:25 -04:00
Simon Cruanes
9623e2d4b6
add Moonpool_io.main; make configure idempotent
2024-09-05 13:24:17 -04:00
Simon Cruanes
65bc3c97ff
alias for get_current_runner
2024-09-05 09:55:10 -04:00
Simon Cruanes
9b3c75124e
simon/move to picos ( #30 )
...
* feat: depend on picos, use picos.exn_bt
* refactor: remove dla
* non optional dependency on thread-local-storage
it's a dep of picos anyway
* wip: use picos computations
* disable t_fib1 test, way too flaky
* feat `fut`: wrap picos computations
* detail in fut
* gitignore
* refactor core: use picos for schedulers; add Worker_loop_
we factor most of the thread workers' logic in `Worker_loop_`,
which is now shared between Ws_pool and Fifo_pool
* github actions
* feat fut: add `on_result_ignore`
* details
* wip: port to picos
* test: wip porting tests
* fix fut: trigger failing to attach doesn't signal it
* fix pool: only return No_more_tasks when local and global q empty
* format
* chore: fix CI by installing picos first
* more CI
* test: re-enable t_fib1 but with a single core fifo pool
it should be deterministic now!
* fixes after reviews
* bump minimal OCaml version to 4.13
* use `exn_bt`, not `picos.exn_bt`
* feat: optional dep on hmap, for inheritable FLS data
* format
* chore: depend on picos explicitly
* feat: move hmap-fls to Fiber.Fls
* change API for local FLS hmap
* refactor: move optional hmap FLS stuff into core/task_local_storage
* add Task_local_storage.remove_in_local_hmap
* chore: try to fix CI
* format
* chore: CI
* fix
* feat: add `Fls.with_in_local_hmap`
* chore: depend on hmap for tests
* fix test for FLS
use the inheritable keys
* chore: CI
* require OCaml 4.14 :/
* feat: add `moonpool.sync` with await-friendly abstractions
based on picos_sync
* fix: catch TLS.Not_set
* fix: `LS.get` shouldn't raise
* fix
* update to merged picos PR
* chore: CI
* fix dep
* feat: add `Event.of_fut`
* chore: CI
* remove dep on now defunct `exn_bt`
* feat: add moonpool-io
* chore: CI
* version constraint on moonpool-io
* add Event.Infix
* move to picos_io
2024-09-04 12:04:27 -04:00
Simon Cruanes
e3f11be0b3
fix related to TLS
2024-08-27 10:15:40 -04:00
Simon Cruanes
14fdee0593
compat
2024-08-26 11:23:54 -04:00
Simon Cruanes
444f8a3acc
fix with actual TLS release
2024-08-26 11:20:27 -04:00