From 6958803fec611bb9450458b2a5190c09b239ab83 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 11 Jul 2024 06:17:45 +0530 Subject: [PATCH] Add some locking to python disk cache test API --- kitty/disk-cache.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/kitty/disk-cache.c b/kitty/disk-cache.c index 21ab8beb3..cd5c35ad4 100644 --- a/kitty/disk-cache.c +++ b/kitty/disk-cache.c @@ -697,7 +697,9 @@ PYWRAP(ensure_state) { PYWRAP(read_from_cache_file) { Py_ssize_t pos = 0, sz = -1; PA("|nn", &pos, &sz); + mutex(lock); if (sz < 0) sz = size_of_cache_file(self); + mutex(unlock); PyObject *ans = PyBytes_FromStringAndSize(NULL, sz); if (ans) { read_from_cache_file(self, pos, sz, PyBytes_AS_STRING(ans)); @@ -714,8 +716,11 @@ wait_for_write(PyObject *self, PyObject *args) { } static PyObject* -size_on_disk(PyObject *self, PyObject *args UNUSED) { - unsigned long long ans = disk_cache_size_on_disk(self); +size_on_disk(PyObject *self_, PyObject *args UNUSED) { + DiskCache *self = (DiskCache*)self_; + mutex(lock); + unsigned long long ans = disk_cache_size_on_disk(self_); + mutex(unlock); return PyLong_FromUnsignedLongLong(ans); }