Commit graph

13 commits

Author SHA1 Message Date
Henrik Rydgård
6a1fa728d8 Remove Globals.h 2017-08-31 17:15:22 +02:00
Simonas Kazlauskas
3c3596dbf2 Make the Loader API thread-safe
Since the majority of the code is using ReadAt API already, map this to
a `readp` "syscall" which does not mutate any state about the file
descriptor therefore making it fairly safe multi-threading wise.

This allows to get rid of read-time mutexes in RamCachedFileLoader and
therefore fixes #9803
2017-06-23 17:23:43 +03:00
Henrik Rydgard
26a2d42731 Big mutex overhaul - remove our custom ones, make them non-recursive where possible 2017-02-28 11:40:29 +01:00
Unknown W. Brackets
65c7d0bd04 Add uncached flag for file loader reads.
This allows us to indicate that a read need not be cached.
2016-07-04 12:07:15 -07:00
Unknown W. Brackets
429346bb94 http: Make sure we don't hang checking existence.
It's not great to delay loading when the server is down - we'll do a
proper check when we display the games.

This also fixes shutdown being slow.
2016-07-04 00:46:42 -07:00
Unknown W. Brackets
eb674b4699 Reduce load delay with many recent http files.
If we have data for them, we can start up fairly quickly.
2016-06-26 20:45:04 -07:00
Unknown W. Brackets
288a5c7aab Lock the diskcache while in use.
This prevents it from being corrupted due to a crash.
2016-01-30 20:50:37 -08:00
Unknown W. Brackets
0264422b8d Add a bit more error detection to the disk cache. 2015-11-18 21:56:07 -08:00
Unknown W. Brackets
475964133c Make disk cache size a bit more flexible.
This way it will shrink to allow a few games to be cached simultaneously.
2015-11-18 21:56:06 -08:00
Unknown W. Brackets
f2cefebcb6 Garbage collect files when low on free cache space. 2015-11-18 21:56:04 -08:00
Unknown W. Brackets
df6cbafe0f Measure free disk space to size block count. 2015-11-18 21:56:03 -08:00
Unknown W. Brackets
f0ec6fab4d Reorganize disk cache to allow for dynamic size. 2015-11-18 21:56:02 -08:00
Unknown W. Brackets
88b23460f1 Add a file loader to perform disk caching.
Had to do some tricks to handle gameinfocache threads properly.
2015-07-02 20:58:58 -07:00