Commit Graph

16 Commits

Author SHA1 Message Date
Unknown W. Brackets 8b665ae696 Loaders: Depriorize disc streaming queue items.
We want the local items, if any, to load first.  This gives us icons, etc.
2017-12-09 17:07:42 -08:00
Unknown W. Brackets ee5b68f1fc Loaders: Add cancelation to all file loaders.
Mainly, for HTTP which might be stalled trying to connect (especially if
you're not near your PC right now and it's in your recent, for example.)
2017-12-09 16:47:37 -08: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
Unknown W. Brackets a1f59deafe Fix some type narrowing warnings and typos. 2017-03-19 07:44:31 -07:00
Henrik Rydgard d64f367e1d Assorted warning fixes 2017-03-05 10:52:45 +01:00
Henrik Rydgard d46397627e Buildfixes 2017-02-28 11:40:29 +01: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
Henrik Rydgard 50be4e72b2 Get rid of our own silly reimplementation of std::thread 2017-02-27 20:51:36 +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 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 12f8df395b Return correct bytes near end in RAM caching.
Reading beyond the end of file should not return data.  Also check what
the backend actually returned, in case it wasn't able to return data
either.
2016-05-22 01:35:16 -07:00
Unknown W. Brackets 546c0a5d9b Fix buffer overflow in RAM caching feature.
Would mainly affect files not even block sizes, such as CSO files, but
might affect all files.  Oops.  Fixes #8764.
2016-05-22 01:34:31 -07:00
Unknown W. Brackets ef1dc583a2 Fix various minor warnings. 2016-03-20 14:17:51 -07:00
Unknown W. Brackets 95abf332d1 Disable ISO RAM cache if out of memory.
Better to fail to preload than to crash.
2015-12-19 15:29:34 -08:00
Unknown W. Brackets dd5c91108c Use a background thread to load ISO into RAM.
This way we don't get slow startup.  This will also cache the CSO data,
for example, rather than the raw data, using up less RAM.  It might even
be reasonable to enable on 32-bit.
2015-12-19 15:23:25 -08:00