Comments (3)
I've had the same problem with my programs - even more, when I try to kill them with Ctrl-C, they lock up and need to be killed. My tracing narrowed it down to the close_all call that Pervasives hooks into at_exit. I don't have a recommended solution - I'm not a threading expert. My fix to make the tests compile for 1.1.0pre2 was to use the non-threaded batteries. If anyone has a better solution than using RMutex, I'd love one, otherwise we'll probably release 1.1.0 using RMutex.
from batteries-included.
I haven't done any auditing of the IO code to see where/how the mutexes are used and whether there's a lock cycle that can be eliminated. I'll push the RMutex
solution for now, and put assessing the lock situation on my to do list.
from batteries-included.
I've now fixed the lock issue so that BatInnerIO no longer requires re-entrant locks.
from batteries-included.
Related Issues (20)
- Expose `Hashtbl.stats` HOT 3
- OCaml 5 support HOT 23
- Link broken HOT 1
- `BatString.split_on_string` going backward is not documented HOT 3
- result of BatBitSet.inter(and intersect) is not correct in some cases HOT 3
- Switch to odoc? HOT 2
- 'make doc' is broken
- 'make test' broken on 4.13.1 HOT 1
- get rid of ocamlbuild HOT 2
- Add dependency on dune HOT 13
- we should check compatibility with ocaml-5.1.0 HOT 1
- does not compile under 5.1.0~alpha2
- current make doc warnings and errors HOT 2
- release new minor version HOT 3
- documentation errors in BatSplay.Map.remove HOT 16
- BatString.split_on_string since 2.11? HOT 3
- OCaml 5.1.1 support HOT 4
- mk_temp_dir HOT 2
- strange interface error on 5.1.2 HOT 7
- OCaml 5.2 support HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from batteries-included.