<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tailscale/util/execqueue/execqueue.go, branch bradfitz/mutex_debug</title>
<subtitle>The easiest, most secure way to use WireGuard and 2FA</subtitle>
<id>http://git.waynecole.info/tailscale/atom?h=bradfitz%2Fmutex_debug</id>
<link rel='self' href='http://git.waynecole.info/tailscale/atom?h=bradfitz%2Fmutex_debug'/>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/'/>
<updated>2025-12-02T23:12:13Z</updated>
<entry>
<title>syncs: start working on mutex debugging, registration</title>
<updated>2025-12-02T23:12:13Z</updated>
<author>
<name>Brad Fitzpatrick</name>
<email>bradfitz@tailscale.com</email>
</author>
<published>2025-12-02T20:50:33Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=381de776c4878dd9af76b126cfa37bc80cad363f'/>
<id>urn:sha1:381de776c4878dd9af76b126cfa37bc80cad363f</id>
<content type='text'>
Updates #17852

Change-Id: Ib1b634eedd30cc4006bc1b39aa8d479d37c5f1f2
Signed-off-by: Brad Fitzpatrick &lt;bradfitz@tailscale.com&gt;
</content>
</entry>
<entry>
<title>util/execqueue: don't hold mutex in RunSync</title>
<updated>2025-11-26T18:09:23Z</updated>
<author>
<name>Brad Fitzpatrick</name>
<email>bradfitz@tailscale.com</email>
</author>
<published>2025-11-26T17:26:08Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=8af7778ce04457a5f84a45e7cc8f58f02b7bfb4c'/>
<id>urn:sha1:8af7778ce04457a5f84a45e7cc8f58f02b7bfb4c</id>
<content type='text'>
We don't hold q.mu while running normal ExecQueue.Add funcs, so we
shouldn't in RunSync either. Otherwise code it calls can't shut down
the queue, as seen in #18502.

Updates #18052

Co-authored-by: Nick Khyl &lt;nickk@tailscale.com&gt;
Change-Id: Ic5e53440411eca5e9fabac7f4a68a9f6ef026de1
Signed-off-by: Brad Fitzpatrick &lt;bradfitz@tailscale.com&gt;
</content>
</entry>
<entry>
<title>syncs: add Mutex/RWMutex alias/wrappers for future mutex debugging</title>
<updated>2025-11-17T03:13:59Z</updated>
<author>
<name>Brad Fitzpatrick</name>
<email>bradfitz@tailscale.com</email>
</author>
<published>2025-11-15T17:40:57Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=99b06eac49ba1cdc1f72409b957f526b25d62622'/>
<id>urn:sha1:99b06eac49ba1cdc1f72409b957f526b25d62622</id>
<content type='text'>
Updates #17852

Change-Id: I477340fb8e40686870e981ade11cd61597c34a20
Signed-off-by: Brad Fitzpatrick &lt;bradfitz@tailscale.com&gt;
</content>
</entry>
<entry>
<title>ipn/ipnlocal: remove all the weird locking (LockedOnEntry, UnlockEarly, etc)</title>
<updated>2025-11-14T03:20:07Z</updated>
<author>
<name>Brad Fitzpatrick</name>
<email>bradfitz@tailscale.com</email>
</author>
<published>2025-11-09T01:23:33Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=146ea42822cce4d9743218c94aaf13d3d171e0a4'/>
<id>urn:sha1:146ea42822cce4d9743218c94aaf13d3d171e0a4</id>
<content type='text'>
Fixes #11649
Updates #16369

Co-authored-by: James Sanderson &lt;jsanderson@tailscale.com&gt;
Change-Id: I63eaa18fe870ddf81d84b949efac4d1b44c3db86
Signed-off-by: Brad Fitzpatrick &lt;bradfitz@tailscale.com&gt;
</content>
</entry>
<entry>
<title>control/controlclient,util/execqueue: extract execqueue into a package</title>
<updated>2024-01-18T20:08:13Z</updated>
<author>
<name>James Tucker</name>
<email>james@tailscale.com</email>
</author>
<published>2024-01-18T18:33:20Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/tailscale/commit/?id=38a1cf748a9920aa2cb49101730bba06db1fd839'/>
<id>urn:sha1:38a1cf748a9920aa2cb49101730bba06db1fd839</id>
<content type='text'>
This is a useful primitive for asynchronous execution of ordered work I
want to use in another change.

Updates tailscale/corp#16833
Signed-off-by: James Tucker &lt;james@tailscale.com&gt;
</content>
</entry>
</feed>
