cosmopolitan/tool
Steven Dee (Jōshin) b40140e6c5
Improve redbean concurrency (#1332)
In the course of playing with redbean I was confused about how the state
was behaving and then noticed that some stuff is maybe getting edited by
multiple processes. I tried to improve things by changing the definition
of the counter variables to be explicitly atomic. Claude assures me that
most modern Unixes support cross-process atomics, so I just went with it
on that front.

I also added some mutexes to the shared state to try to synchronize some
other things that might get written or read from workers but couldn't be
made atomic, mainly the rusage and time values. I could've probably been
less granular and just had a global shared-state lock, but I opted to be
fairly granular as a starting point.

This also reorders the resetting of the lastmeltdown timespec before the
SIGUSR2 signal is sent; hopefully this is okay.
2024-12-02 14:05:38 -08:00
..
args Invent new cosmo_args() api 2024-11-13 01:19:57 -08:00
build Strongly link glob() into system() and popen() 2024-11-15 20:37:34 -08:00
cosmocc Release Cosmopolitan v3.9.7 2024-11-22 21:38:09 -08:00
curl Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
decode Support merging many .a files into one .a file 2024-09-05 19:28:14 -07:00
emacs Make Emacs load 2x faster 2024-08-23 20:08:05 -07:00
hello Make atomics faster on aarch64 2024-08-16 11:14:46 -07:00
lambda Update Musl Libc code 2024-07-30 22:51:29 -07:00
net Improve redbean concurrency (#1332) 2024-12-02 14:05:38 -08:00
plinko Make improvements 2024-09-01 01:27:47 -07:00
scripts Refactor and improve CTL and other code 2024-06-04 05:45:48 -07:00
viz Rewrite Windows poll() 2024-09-10 20:04:02 -07:00
zsh Stop using .com extension in monorepo 2024-03-03 03:12:19 -08:00
BUILD.mk more modeline errata (#1019) 2023-12-16 23:07:10 -05:00