Commit graph

11 commits

Author SHA1 Message Date
JetSetIlly a75909c5ab async archivefs could include incorrect entries
this could happen when changing directories when a previous list was
ongoing. this was supposed to have been fixed in fcb8439 and 02bb6a33
but both were incorrect in some sitations

the new solution correctly waits for a cancel to complete using a mutex
2024-05-30 23:12:50 +01:00
JetSetIlly fcb8439531 archivefs fix committed in 02bb6a33 was incorrect/incomplete 2024-05-29 10:23:45 +01:00
JetSetIlly 02bb6a3355 solved deadlock in asynchronous use of archivefs
setting a new path could deadlock if a previous set was still being processed
2024-05-28 16:43:23 +01:00
JetSetIlly f9cdb366dd improved reliabilty of archivefs.List()
there was a very small % chance that the List() would end before all
entries had been received

'go test -shuffle on -count 100000 ./archivefs' reports no failures
2024-05-18 15:46:06 +01:00
JetSetIlly dd06910403 archivefs optionally sets a 'fallback' path
if the requested path to Set() does not exist, the function will
fallback to largest sub-path that does exist
2024-05-17 20:35:36 +01:00
JetSetIlly 30f9326a82 better asynchronous listing of directory with archivefs 2024-05-17 11:20:22 +01:00
JetSetIlly 7be60c0c2a corrected archivefs Set() function so that it works in Windows
Windows volume names confused the Set() function

archivefs.Async no longer exits async goroutine on errors from Path
functions. exiting meant that the channels were no longer being
serviced, causing GUI deadlocks
2024-05-05 17:00:38 +01:00
JetSetIlly 2d974cc9c1 AsyncPath improvments
fixed occasional data race in Close() function. added Destroy()
interface to window manager
2024-04-29 17:37:52 +01:00
JetSetIlly 3a5f7c79da added AsyncPath to archivefs. allows asynchronous use of archivefs
ROM select could noticeable stall the GUI if there were many files in a
directory
2024-04-28 21:26:29 +01:00
JetSetIlly b011090937 corrected archivefs docs 2024-04-17 15:59:17 +01:00
JetSetIlly e3f4a743b6 added archivefs package and support in cartridgeloader and ROM select window
archivefs allows opening of files inside a zip archive. support for
other archive file type will be added in the future when possible
2024-04-16 19:22:38 +01:00