<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/ccache.git/src/util/LockFile.cpp, branch master</title>
<subtitle>github.com: ccache/ccache
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/'/>
<entry>
<title>enhance: Delay LongLivedLockFileManager thread start to first register</title>
<updated>2023-01-15T20:33:57+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2023-01-05T10:38:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=35a387e15924d5982d2a812759fb476a547b619a'/>
<id>35a387e15924d5982d2a812759fb476a547b619a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: Fix logging of inactive lock duration</title>
<updated>2023-01-15T20:33:56+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2023-01-05T10:16:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=9c93686dfb90f29fbf24c134833a4f41a75cddba'/>
<id>9c93686dfb90f29fbf24c134833a4f41a75cddba</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>enhance: Make it possible for LockFile::try_acquire to break the lock</title>
<updated>2023-01-15T20:33:41+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2023-01-05T10:07:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=00b9a854bc20f5c27937682d266bf0b23142163a'/>
<id>00b9a854bc20f5c27937682d266bf0b23142163a</id>
<content type='text'>
If a long-lived lock is stale and has no alive file,
LockFile::try_acquire will never succeed to acquire the lock. Fix this
by creating the alive file for all lock types and making
LockFile::try_acquire exit when lock activity is seen instead of
immediately after failing to acquire the lock.

Another advantage is that a stale lock can now always be broken right
away if the alive file exists.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If a long-lived lock is stale and has no alive file,
LockFile::try_acquire will never succeed to acquire the lock. Fix this
by creating the alive file for all lock types and making
LockFile::try_acquire exit when lock activity is seen instead of
immediately after failing to acquire the lock.

Another advantage is that a stale lock can now always be broken right
away if the alive file exists.
</pre>
</div>
</content>
</entry>
<entry>
<title>enhance: Make util::LockFile movable</title>
<updated>2023-01-11T18:42:32+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2022-12-30T21:00:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=958cbfee8f4f8da6cc3af0787120f5a2713560f4'/>
<id>958cbfee8f4f8da6cc3af0787120f5a2713560f4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>enhance: Extract lock keep-alive thread to a manager class</title>
<updated>2022-12-13T19:38:37+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2022-12-05T19:50:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=b1b71d20b4ff0eebd6d0abc965d22d887203b364'/>
<id>b1b71d20b4ff0eebd6d0abc965d22d887203b364</id>
<content type='text'>
Instead of running one keep-alive thread per lock, a long-lived LockFile
now lets a separate LongLivedLockFileManager object handle keep-alive
for several locks in a single thread.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of running one keep-alive thread per lock, a long-lived LockFile
now lets a separate LongLivedLockFileManager object handle keep-alive
for several locks in a single thread.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: Make LockFile guard itself without a LockFileGuard</title>
<updated>2022-12-13T19:36:56+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2022-11-13T08:02:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=c78a0825cc3a0b2216000b7a310aecf40c1d1aaa'/>
<id>c78a0825cc3a0b2216000b7a310aecf40c1d1aaa</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: Don't use copy of mutex/condition in long-lived lock thread</title>
<updated>2022-12-13T19:36:55+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2022-11-23T19:11:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=034e3316eb4e3b6a4508f34bde2b1049c681542c'/>
<id>034e3316eb4e3b6a4508f34bde2b1049c681542c</id>
<content type='text'>
This was kind of due to a typo in
0babd33e84147e923a729ee07a3b85097ec8baa8. Since the LongLivedLockFile
class is not used yet, the bug does not affect any released code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was kind of due to a typo in
0babd33e84147e923a729ee07a3b85097ec8baa8. Since the LongLivedLockFile
class is not used yet, the bug does not affect any released code.
</pre>
</div>
</content>
</entry>
<entry>
<title>enhance: Allow short-lived lock file to wait for long-lived</title>
<updated>2022-12-13T19:36:55+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2022-11-10T15:37:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=4c8873296434e00015d956e55508b37372ba842e'/>
<id>4c8873296434e00015d956e55508b37372ba842e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: Improve logging of file read failures</title>
<updated>2022-11-02T18:18:21+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2022-11-02T18:18:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=c5e1f88e22987365754e26c0f8a4e51cf572018f'/>
<id>c5e1f88e22987365754e26c0f8a4e51cf572018f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: Use util::TimePoint for timestamps</title>
<updated>2022-09-21T15:06:32+00:00</updated>
<author>
<name>Joel Rosdahl</name>
<email>joel@rosdahl.net</email>
</author>
<published>2022-09-20T17:01:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ccache.git/commit/?id=653dde812ed117f3ff03bf05d97d086482aac0c9'/>
<id>653dde812ed117f3ff03bf05d97d086482aac0c9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
