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
Florent Castelli
70593d1004
android: Change preprocessor define to standard __ANDROID__
...
ANDROID is only standard to the old Makefile buildsystem, not the platform.
2016-10-12 11:14:09 +02: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
41e167f384
http: Oops, fix crash.
...
Huh, I thought I tested this?
2016-07-03 22:13:52 -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
8dd7527dc8
Clamp reads at the beginning too.
...
Safer, avoids an index overrun in disk cache.
2016-05-26 00:07:46 -07:00
Unknown W. Brackets
1c357f7f7b
Fix reads from cache outside the file.
...
Homebrew seems to all trigger us to read after the end of file, which was
looping infinitely. Fixes #8773 .
2016-05-25 18:42:21 -07:00
Unknown W. Brackets
0517d3721c
Correct recovery of locked disk cache files.
...
We were keeping the index when creating a new file, rather than clearing
it. Additionally, flush before all reads - in case of overlap.
2016-02-06 19:49:33 -08: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