WIP: Multithread some usage of findfile
On a slow disk, descending the directories can be, well, slow. It has also been my suspicion in the past that some timeouts were due to addons loading config files (the
exec command uses
What needs to done:
Create a queue for locating a wad for
addfileas well as startup files.
- Create a queue for locating files when connecting to servers.
exec command could be multithreaded in its entirety, wad loading is much more complex. So a filename can be placed in the queue, and another thread handles locating the file. Once the file has been located, its path may be updated in the queue. The the main thread will check the queue every tic and do what it needs to.
added 110 commits
Toggle commit list
2f328919...79c299bf - 14 commits from branch
- eb7c36d7 - Reimplement I/O library
- c9fe83b9 - Block the use of ../ and ..\\
- a68e9269 - Implement file type whitelist, completely remove popen and pclose
- 569f7d15 - Efficiency improvement in whitelist check
- de03db99 - Block possible methods of accessing folders outside of SRB2
- 5579fb52 - Limit file creation/manipulation to luafiles subfolder
- e2749465 - Call I_mkdir on subdirectories [NEEDS CLEANUP]
- 591b8035 - Limit file write size to 1MB
- 2639bf4c - Add liolib.c to CMakeLists
- 0f2a0927 - objectplace stability fix
- f2f8906a - Use modulo, not bitwise AND. My fault once again, whoops.
- f559b509 - fix bad lstring usage in map header lua
- c30188f9 - interscreen is a lump name and thus needs lstring
- c7e540a8 - whitespace cleanup
- f65c5c01 - Fix shadowing in mapheaderinfo_get
- 63a3e03b - Fixed math for calculating current texture in texture animations
- 14dcd240 - Fixed compiler warnings to the best of my ability
- 9c299e5a - Fix and clean up io_open after MI broke it horribly
- 2eedecb9 - Get rid of unneeded tab spaces
- db7da456 - Remove block on % in filename strings
- bdad2ccc - Merge branch 'next' into io
- 3f4e0286 - Merge branch 'master' into io
- c772b05f - Merge branch 'master' of git.magicalgirl.moe:KartKrew/Kart
- 3b3a63cd - Merge branch 'master' of git.magicalgirl.moe:KartKrew/Kart-Public
- 496f6bcd - Merge branch 'master' of git.magicalgirl.moe:KartKrew/Kart-Public
- 44e59e26 - Don't hide HUD with hu_showscores in single player/Record Attack
- 0c3b5d60 - Merge branch 'master' of git.magicalgirl.moe:KartKrew/Kart-Public
- d0b4f876 - Merge branch 'master' of git.magicalgirl.moe:KartKrew/Kart-Public
- 615823f0 - player.ping for the ping in milliseconds of the player
- d949a47a - Don't save Luavars in record attack, especially not for ghosts
- f24340f4 - add targets to MT_FASTLINEs spawned to tell what they're spawned from
- 3997c059 - god damnit
- 6b5eebe5 - Use P_SetTarget instead of fast->target
- 7e0b605f - Properly bound lua displayplayers and displayplayers.iterate to splitscreen
- c9c8e5f1 - Merge branch 'player-dot-ping' into 'next'
- ffdb12cc - Merge branch 'fastline-identification' into 'next'
- 11331b7b - Merge branch 'hud-is-fucked' into 'next'
- 71d2d357 - Merge branch 'displayplayer-gonna-getcha' into 'next'
- 1d5774fe - Merge branch 'ghostly-luavars' into 'next'
- 21e61909 - Don't force SPB in 1v1
- a7c88d40 - Merge branch 'master' into next
- 9e6980c8 - Fix a fallthrough issue that could cause thundershield to be rolled less often than intended.
- 73b65b47 - Merge branch 'no-spb-forcing-in-2p' into 'next'
- 831ed3de - Merge branch 'itemodds-fallthrough-fix' into 'next'
- b03f950c - Merge branch 'master' into next
- b96d315f - Merge branch 'master' of email@example.com:KartKrew/Kart-Public.git into next
- 12d40a07 - Load one file per tic
- fc9f40a1 - New "Overall Download Progress" bar
- 9d910592 - Adjustment to new progress text
- d96c938d - Add progress bar for file loading
- f2593219 - Adjust text position
- 8eb9a694 - Fix X/0 files display bug for legacy downloader
- 03d479fd - Connection screen no longer freezes up while
- 6fe8a6c9 - Changed "this server has a lot of addons!" to
- 774b917c - Correct total files to load off by one
- b8fdd6b8 - Fix file number accounting
- 7da3d70f - Remove Checking Files spam
- 2c0671d8 - Let's just ALWAYS go into ask file list mode
- 159316b1 - Remove now unused ret var
- ddc0bc16 - Add clean up to K_PuntMine
- 0637ed89 - Fixing RocketSneakers
- 943a8983 - Some safeguards for K_DropRocketSneaker usage
- 3bccf01d - Properly handle rocket sneakers when shrinking
- 6562c9b7 - Moved K_DropRocketSneaker call into K_StripItems
- 733aefa6 - Also lets do this for kitchen sinks
- 6d0b1e93 - Appease C91
- 341ce8f4 - Merge branch 'rocket-sneaker-hnext-fix' into 'next'
- 8791fd88 - Merge branch 'mine-punt-sync-fix' into 'next'
- 2add55eb - Fix indirect item cooldown never resetting
- 3dada09a - Fix Hyudoro cooldown never resetting
- c6302235 - Merge branch 'master' into next
- 97c4e7df - Merge branch 'indirectitemcooldown' into 'next'
- 4c5eb0d6 - Redo logic for lots of files vs not
- cc78ef2c - Now that the server doesn't erroneously send the last mainwad
- f800159b - Improve total downloads bar
- df0cc6a7 - No previous prototype for K_DropKitchenSink
- 41a401f7 - Merge branch 'master' into next
- 9a9d81bb - New message boxes for downloads and full server waiting
- afc6bdbc - Fixes for file accounting
- 03150e5f - Move declaration to appease C90
- eb81bea9 - Move code down so declarations are above to appease C90
- 392b24b7 - Merge remote-tracking branch 'stjr/io' into kart-io
- 7c5740d9 - COnfirm box now respects rebindable accelerate and brake on keyboards
- 648a950a - Merge remote-tracking branch 'public/next' into conenction-screen-improvements
- cadb4719 - Added m_menu_mutex to M_Drawer in connection screen
- ed41d5df - Merge branch 'kart-io' into 'next'
- 1cd7c3b7 - Rearrange time comparsion on asksent to make it underflow friendly
- 65968f00 - Fix tiny mistake with the last commit
- aa2b25e6 - Well actually, lets fix all comparisons of askset to use the same comparison
- 5b0cb1af - Merge remote-tracking branch 'origin/master' into next
- 247239c2 - Add return false to the connect timeout
- 9e1d7146 - Fixed retry timeout to no ttrigger when starting a local server
- 0ca9f8f0 - Merge branch 'conenction-screen-improvements' into 'next'
- 731c6bf5 - Merge remote-tracking branch 'origin/next' into findfile-with-threads
- 60a4b403 - Multiple files filesearch and findmultiplefiles
- bb07f12b - W_InitMultipleFiles with one findmultiplefiles call
- 2f328919...79c299bf - 14 commits from branch
added 4 commits
Toggle commit list
- 83560485 - Let findmultiplefiles use a mutex when accessing each file query
- 7fcbe073 - Make mutex and cond functions no-op with NULL pointers
- 8367a855 - "Asynchronous" file queue calls findmultiplefiles on another thread, then reads…
- b6188a3b - Get rid of mutexes on command buffer
changed the descriptionToggle commit list
changed target branch from
nextToggle commit list