picos
                                
                                
                                
                                    picos copied to clipboard
                            
                            
                            
                        Interoperable effects based concurrency
This PR adds a [Stdlib style `Semaphore` module](https://ocaml.org/manual/5.2/api/Semaphore.html) to the `Picos_sync` library. The implementation is not optimized for cancelation, but should otherwise perform Ok. TODO: - [ ] Some more...
TODO: - [x] How to deal with unhandled exceptions in actors? Riot seems to treat them as fatal errors. - [x] What should happen when a message is sent to...
WIP — not even close to being complete.
#271 introduced a workaround for [Uri not being thread safe](https://github.com/mirage/ocaml-uri/issues/178). As [Angstrom fixed the issue](https://github.com/inhabitedtype/angstrom/pull/229) it should now be possible to work around this by explicitly depending on a version...
Tests, such as [this example](https://github.com/ocaml-multicore/picos/blob/eb7220520d5a51707b2510094b5070a629734c11/lib/picos_io/picos_io.mli#L697-L759), using `Unix.socketpair` occasionally fail on Windows: ```diff --- a/_build/default/lib/picos_io/picos_io.mli +++ b/_build/default/lib/picos_io/.mdx/picos_io.mli.corrected @@ -753,7 +753,5 @@ end send_string "Hello, world!"; send_string "POSIX with OCaml"; end -...