9a05cdd2b5
syncs: add Map ( #6260 )
...
Map is a concurrent safe map that is a trivial wrapper
over a Go map and a sync.RWMutex.
It is optimized for use-cases where the entries change often,
which is the opposite use-case of what sync.Map is optimized for.
The API is patterned off of sync.Map, but made generic.
Signed-off-by: Joe Tsai <joetsai@digital-static.net >
2022-11-10 10:55:26 -08:00
b75f81ec00
syncs: add generic AtomicValue
...
Signed-off-by: Maisem Ali <maisem@tailscale.com >
2022-08-04 11:52:16 -07:00
4950fe60bd
syncs, all: move to using Go's new atomic types instead of ours
...
Fixes #5185
Change-Id: I850dd532559af78c3895e2924f8237ccc328449d
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2022-08-04 07:47:59 -07:00
e4fecfe31d
wgengine/{monitor,router}: restore Linux ip rules when systemd deletes them
...
Thanks.
Fixes #1591
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-07-20 15:52:22 -07:00
676e32ad72
syncs: add AtomicUint32
...
Signed-off-by: David Crawshaw <crawshaw@tailscale.com >
2021-06-23 08:51:37 -07:00
77ec80538a
syncs: add Semaphore
...
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com >
2021-03-23 12:39:28 -07:00
c431382720
Fix receiver in order to be consistent: syncs.WaitGroupChan
...
Signed-off-by: Dmytro Tananayskiy <dmitriyminer@gmail.com >
2020-11-24 17:20:34 -08:00
bf24d54143
syncs: add AssertLocked
...
This allows us to check lock invariants.
It was proposed upstream and rejected in:
https://github.com/golang/go/issues/1366
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com >
2020-09-09 12:27:52 -07:00
d3134ad0c8
syncs: add AtomicBool
2020-05-29 12:41:30 -07:00
b4d02a251a
syncs: add new package for extra sync types
2020-03-12 11:13:33 -07:00