]> git.scottworley.com Git - tl-append/log
tl-append
9 months agoAlso take flock locks
Scott Worley [Wed, 13 Sep 2023 21:56:30 +0000 (14:56 -0700)]
Also take flock locks

There are two kinds of locks, so for interoperability, everyone has to
always take both kinds, to avoid the possibility of one client using one
kind and another client using another kind & missing each other.  :(

I wonder what order we're supposed to take them in?  If we don't all
agree, we get deadlocks!  Here, I take them in alphabetical order
(fcntl then flock), in the hope of this being a legible Schelling point.

The test harness does exercise the "take locks in the 'wrong' order" case.
It probably deadlocks with some tiny probability on heavily-loaded
systems.  Sorry.  If this hurts you, feel free to remove it.

9 months agotest: Try writing to flock-locked files
Scott Worley [Wed, 13 Sep 2023 21:51:07 +0000 (14:51 -0700)]
test: Try writing to flock-locked files

9 months agoAllow file locking to be turned off
Scott Worley [Wed, 13 Sep 2023 21:28:20 +0000 (14:28 -0700)]
Allow file locking to be turned off

9 months agoContemplate the possibility of multiple command line flags
Scott Worley [Wed, 13 Sep 2023 21:25:41 +0000 (14:25 -0700)]
Contemplate the possibility of multiple command line flags

9 months agoPass config by reference
Scott Worley [Wed, 13 Sep 2023 21:23:27 +0000 (14:23 -0700)]
Pass config by reference

9 months agoHold a lock while appending
Scott Worley [Wed, 13 Sep 2023 21:14:22 +0000 (14:14 -0700)]
Hold a lock while appending

9 months agoConcurrency tests
Scott Worley [Wed, 13 Sep 2023 20:53:50 +0000 (13:53 -0700)]
Concurrency tests

9 months agoappease clang-tidy: More const
Scott Worley [Wed, 13 Sep 2023 18:41:53 +0000 (11:41 -0700)]
appease clang-tidy: More const

9 months agoappease clang-tidy: Don't do unnecessary size_t→int narrowing conversion
Scott Worley [Wed, 13 Sep 2023 18:41:36 +0000 (11:41 -0700)]
appease clang-tidy: Don't do unnecessary size_t→int narrowing conversion

Why does fgets take an int instead of a size_t?  :(

9 months agoappease clang-tidy: Careful of size_t→int narrowing conversion
Scott Worley [Wed, 13 Sep 2023 18:40:48 +0000 (11:40 -0700)]
appease clang-tidy: Careful of size_t→int narrowing conversion

Why does fgets take an int instead of a size_t?  :(

9 months agoInteractive mode: Prompt, feedback, & screen clearing
Scott Worley [Wed, 13 Sep 2023 18:11:49 +0000 (11:11 -0700)]
Interactive mode: Prompt, feedback, & screen clearing

9 months agoWrite timestamps
Scott Worley [Fri, 8 Sep 2023 20:09:13 +0000 (13:09 -0700)]
Write timestamps

9 months agotest: factor out verify_line()
Scott Worley [Fri, 8 Sep 2023 19:51:22 +0000 (12:51 -0700)]
test: factor out verify_line()

9 months agoEncode time in time-logger's format
Scott Worley [Mon, 4 Sep 2023 00:50:46 +0000 (17:50 -0700)]
Encode time in time-logger's format

This is not a good format.  It looses timezone information during daylight
savings time changes -- it cannot distinguish between the first 01:30
and the second 01:30 during the fall transition.

10 months agoA space for test & implementation to share code
Scott Worley [Thu, 31 Aug 2023 19:11:01 +0000 (12:11 -0700)]
A space for test & implementation to share code

10 months agotest: Populate expectation timestamp range
Scott Worley [Thu, 31 Aug 2023 18:53:27 +0000 (11:53 -0700)]
test: Populate expectation timestamp range

10 months agotest: Expectations have timestamp range
Scott Worley [Thu, 31 Aug 2023 18:51:08 +0000 (11:51 -0700)]
test: Expectations have timestamp range

10 months agotest: Use expectations for verifying output
Scott Worley [Thu, 31 Aug 2023 18:49:54 +0000 (11:49 -0700)]
test: Use expectations for verifying output

10 months agotest: Populate expectation
Scott Worley [Thu, 31 Aug 2023 18:34:54 +0000 (11:34 -0700)]
test: Populate expectation

10 months agotest: Dynamic buffer size
Scott Worley [Thu, 31 Aug 2023 18:08:25 +0000 (11:08 -0700)]
test: Dynamic buffer size

10 months agoTest writing twice
Scott Worley [Thu, 31 Aug 2023 18:01:08 +0000 (11:01 -0700)]
Test writing twice

10 months agomake clean
Scott Worley [Thu, 31 Aug 2023 18:00:38 +0000 (11:00 -0700)]
make clean

10 months agoRefactor test
Scott Worley [Thu, 31 Aug 2023 17:46:45 +0000 (10:46 -0700)]
Refactor test

10 months agoBegin
Scott Worley [Thu, 31 Aug 2023 05:25:58 +0000 (22:25 -0700)]
Begin