• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

TriggerMail / lazylru
77%
master: 98%

Build:
Build:
LAST BUILD BRANCH: (HEAD detached at 69bb3b2)
DEFAULT BRANCH: master
Repo Added 27 Dec 2021 10:57PM UTC
Files 8
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH (HEAD detached at 3f73f94)
branch: (HEAD detached at 3f73f94)
CHANGE BRANCH
x
Reset
  • (HEAD detached at 3f73f94)
  • (HEAD detached at 03c52f8) master
  • (HEAD detached at 062025b)
  • (HEAD detached at 0624280)
  • (HEAD detached at 0690d65)
  • (HEAD detached at 06ea47c)
  • (HEAD detached at 08fc956)
  • (HEAD detached at 08fc956) master
  • (HEAD detached at 0c9f250)
  • (HEAD detached at 0f4a93e)
  • (HEAD detached at 1023292)
  • (HEAD detached at 1051aaf)
  • (HEAD detached at 13b4fd7)
  • (HEAD detached at 13be678)
  • (HEAD detached at 13be678) master
  • (HEAD detached at 13c6b9c)
  • (HEAD detached at 174b0bf) master
  • (HEAD detached at 1a76fe2)
  • (HEAD detached at 1bba57e)
  • (HEAD detached at 1cf6357)
  • (HEAD detached at 1d6ecfa)
  • (HEAD detached at 1d6ecfa) master
  • (HEAD detached at 1d7f6a7)
  • (HEAD detached at 1fc843f)
  • (HEAD detached at 2495b3e)
  • (HEAD detached at 250bdb5)
  • (HEAD detached at 2a6be10)
  • (HEAD detached at 2be14f4)
  • (HEAD detached at 2d7d9a8)
  • (HEAD detached at 2d7d9a8) master
  • (HEAD detached at 2ff2b98)
  • (HEAD detached at 307bd90) master
  • (HEAD detached at 37a5fa1)
  • (HEAD detached at 3d7504b)
  • (HEAD detached at 424c59e)
  • (HEAD detached at 45c827a)
  • (HEAD detached at 463a294)
  • (HEAD detached at 463a294) master
  • (HEAD detached at 49aee54)
  • (HEAD detached at 49e4708)
  • (HEAD detached at 4b51a44)
  • (HEAD detached at 4c89999)
  • (HEAD detached at 4fa823b)
  • (HEAD detached at 5071ef2)
  • (HEAD detached at 5347ebf)
  • (HEAD detached at 53b52d8)
  • (HEAD detached at 55420fa)
  • (HEAD detached at 5b8e9d7)
  • (HEAD detached at 5b8e9d7) master
  • (HEAD detached at 5c3039e)
  • (HEAD detached at 6056dcc)
  • (HEAD detached at 653fbe9)
  • (HEAD detached at 69bb3b2)
  • (HEAD detached at 6c69506)
  • (HEAD detached at 6c69506) master
  • (HEAD detached at 704f57b)
  • (HEAD detached at 70f4b10) master
  • (HEAD detached at 7107895)
  • (HEAD detached at 716ba50)
  • (HEAD detached at 727c219)
  • (HEAD detached at 72f841e)
  • (HEAD detached at 72f841e) master
  • (HEAD detached at 76022e4)
  • (HEAD detached at 7834f06)
  • (HEAD detached at 7955a35)
  • (HEAD detached at 80ff430) master
  • (HEAD detached at 84352fe)
  • (HEAD detached at 871aa84)
  • (HEAD detached at 871e51e)
  • (HEAD detached at 8794245)
  • (HEAD detached at 89beb26)
  • (HEAD detached at 8e3074f)
  • (HEAD detached at 910cc8d)
  • (HEAD detached at 9467f56)
  • (HEAD detached at 96cee6e)
  • (HEAD detached at 97c0b56)
  • (HEAD detached at 9fec5ff)
  • (HEAD detached at a56fae7)
  • (HEAD detached at a7153a8)
  • (HEAD detached at a7eb930)
  • (HEAD detached at aa162c6)
  • (HEAD detached at ab23cb8)
  • (HEAD detached at af71fc4)
  • (HEAD detached at afbfb62)
  • (HEAD detached at b1955db)
  • (HEAD detached at b280876)
  • (HEAD detached at b280876) master
  • (HEAD detached at b6a7850)
  • (HEAD detached at b6af442)
  • (HEAD detached at b96cbe1)
  • (HEAD detached at b96cbe1) master
  • (HEAD detached at bce4aeb)
  • (HEAD detached at be19ab2)
  • (HEAD detached at beb671b)
  • (HEAD detached at beb671b) master
  • (HEAD detached at c4f0922)
  • (HEAD detached at cf518d8) master
  • (HEAD detached at d0bfcb7)
  • (HEAD detached at d316d7d)
  • (HEAD detached at d85fa9d)
  • (HEAD detached at dfffe0b)
  • (HEAD detached at e05c6fe)
  • (HEAD detached at e182705)
  • (HEAD detached at e29db0e)
  • (HEAD detached at e459d73)
  • (HEAD detached at e5f9d2b)
  • (HEAD detached at e96d65f)
  • (HEAD detached at ea6b681)
  • (HEAD detached at ec91c5c)
  • (HEAD detached at ee823ed)
  • (HEAD detached at ef574e6)
  • (HEAD detached at efe94fb)
  • (HEAD detached at f0088d9)
  • (HEAD detached at f0a1ab2)
  • (HEAD detached at f8511d8)
  • (HEAD detached at fa7c520)
  • (HEAD detached at fa7c520) master
  • (HEAD detached at fb642f4)
  • (HEAD detached at fd61b8b)

18 Jun 2024 09:32PM UTC coverage: 77.14%. First build
171

Pull #29

buildkite

dangermike
Fixing data race

When reading and writing the same key simultaneously, there were two races that could occur while escalating the lock from a reader lock to a writer lock in the `get` method.

* The expiration check in `get` was reading `pqi.expiration`
* The returned value in `get` was reading `pqi.value`

Both of happened after the call to `lru.lock.RUnlock()`, which means that set could have modified the item that `pqi` was pointing to. We are now copying the underlying item (`*pqi`) to the stack and referencing that. This is a pessimistic way to approach this problem, but it is safe.

A test was added that highlighted these races when run with `-race`.
Pull Request #29: Fixing data race

739 of 958 relevant lines covered (77.14%)

3135116.17 hits per line

Relevant lines Covered
Build:
Build:
958 RELEVANT LINES 739 COVERED LINES
3135116.17 HITS PER LINE
Source Files on (HEAD detached at 3f73f94)
  • Tree
  • List 13
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
171 (HEAD detached at 3f73f94) Fixing data race When reading and writing the same key simultaneously, there were two races that could occur while escalating the lock from a reader lock to a writer lock in the `get` method. * The expiration check in `get` was reading `pqi.expi... Pull #29 18 Jun 2024 09:34PM UTC dangermike buildkite
77.14
See All Builds (138)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc