libera/#commonlisp - IRC Chatlog
Search
21:23:01
gendl__
Hi, is it true that Bordeaux-threads doesn't have shared read-locks and write-locks, where multiple readers can hold the lock at the same time as long as no writer holds the lock? You'd have to implement those yourself?
21:26:20
gendl__
(i know there's a pretty formulaic way to build readlocks/writelocks given basic mutexes and condition variables)
22:16:30
fe[nl]ix
gendl__: that's correct. there's a feature request open: https://github.com/sionescu/bordeaux-threads/issues/77
4:11:04
gendl__
fe[nl]ix: https://github.com/sionescu/bordeaux-threads/issues/77#issuecomment-1726829485
4:15:12
gendl__
just made a👆 naive implementation which apparently works for my use case, may or may not be useful as a reference. It's naive because it doesn't do anything about "fairness" and it'd be possible for the lock to get swamped by constant overlapping readers (i.e.in an application where the reader count never gets to zero, a writer might be locked out indefinitely). So some kind of "fairness" heuristic should probably be
4:31:28
remexre
should I expect writing to the uiop/launch-process:process-info-input of an exited-but-not-waited process to error in some way? unless i'm messing something up, I'm not getting any kind of condition