Unidiff1 files changed, 5 insertions, 0 deletions
|
diff --git a/cache.c b/cache.c index 2e1ef8c..b947a34 100644 --- a/ cache.c+++ b/ cache.c |
|
@@ -90,18 +90,23 @@ int cache_lock(struct cacheitem *item) |
90 | cache_refill_overdue(lockfile) && !unlink(lockfile)) |
90 | cache_refill_overdue(lockfile) && !unlink(lockfile)) |
91 | goto top; |
91 | goto top; |
92 | |
92 | |
93 | return (item->fd > 0); |
93 | return (item->fd > 0); |
94 | } |
94 | } |
95 | |
95 | |
96 | int cache_unlock(struct cacheitem *item) |
96 | int cache_unlock(struct cacheitem *item) |
97 | { |
97 | { |
98 | close(item->fd); |
98 | close(item->fd); |
99 | return (rename(fmt("%s.lock", item->name), item->name) == 0); |
99 | return (rename(fmt("%s.lock", item->name), item->name) == 0); |
100 | } |
100 | } |
101 | |
101 | |
| |
102 | int cache_cancel_lock(struct cacheitem *item) |
| |
103 | { |
| |
104 | return (unlink(fmt("%s.lock", item->name)) == 0); |
| |
105 | } |
| |
106 | |
102 | int cache_expired(struct cacheitem *item) |
107 | int cache_expired(struct cacheitem *item) |
103 | { |
108 | { |
104 | if (item->ttl < 0) |
109 | if (item->ttl < 0) |
105 | return 0; |
110 | return 0; |
106 | return item->st.st_mtime + item->ttl * 60 < time(NULL); |
111 | return item->st.st_mtime + item->ttl * 60 < time(NULL); |
107 | } |
112 | } |
|