rockbox/apps
Aidan MacDonald 65b3ff81c5 playlist: Fix dircache scan thread deadlocks
Fix deadlocks in the dircache scan thread caused by incorrect
lock ordering. Mutating operations need to stop the thread to
prevent it from accessing invalid data; this must always be
done before taking the playlist lock to avoid deadlocking the
scan thread.

Change-Id: If719a8b28ed0b0b3eac068073581e606c4a5f58a
2023-01-23 12:24:12 +00:00
..
bitmaps Rename symbols of FiiO M3K Linux-based port 2021-02-27 23:53:28 +00:00
gui Use perceptual volume scale for volume bars 2023-01-22 22:10:46 +00:00
hosted/android replace strlcpy with strmemccpy 2022-11-14 23:56:16 -05:00
iap Remove buflib allocation names, part two 2023-01-13 10:32:54 +00:00
keymaps [Feature] xduoo X3 add pitchscreen hotkey to wps 2023-01-13 23:56:10 -05:00
lang Add perceptual volume adjustment 2023-01-22 21:19:57 +00:00
menus Add perceptual volume adjustment 2023-01-22 21:19:57 +00:00
plugins Add perceptual volume adjustment 2023-01-22 21:19:57 +00:00
radio Remove buflib allocation names, part two 2023-01-13 10:32:54 +00:00
recorder Database: Add ability to insert multiple files into playlists 2023-01-14 12:14:28 -05:00
abrepeat.c [3/4] Completely remove HWCODEC support 2020-07-24 21:20:13 +00:00
abrepeat.h abrepeat add dummy functions and remove some of the ifdefs 2022-12-14 23:37:14 -05:00
action.c Remove buflib allocation names, part two 2023-01-13 10:32:54 +00:00
action.h [Feature/Bugfix] keyremap add Context flags 2022-12-31 16:12:18 -05:00
alarm_menu.c alarm_menu share setter with settime 2022-03-30 09:05:28 -04:00
alarm_menu.h Fix menu warnings 2018-10-18 00:06:31 +02:00
appevents.h Get voice event out of playback.c 2017-12-12 20:28:56 -05:00
applimits.h
apps.make
audio_path.c nwza860: fix simulator build 2020-10-19 03:39:33 +00:00
audio_thread.c Get voice event out of playback.c 2017-12-12 20:28:56 -05:00
audio_thread.h Update software recording engine to latest codec interface. 2013-06-30 00:40:27 +02:00
beep.c Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
bookmark.c wps.c cleanup gui_show_wps 2022-12-14 22:35:33 -05:00
bookmark.h Fix return to root after selecting items from playlist viewer 2022-11-19 10:01:23 +01:00
buffering.c [BugFix] Buffering.c NULL src for memcpy is UB -- ASAN 2023-01-04 20:20:08 -05:00
buffering.h buffering: remove bufgettail/bufcuttail 2022-04-20 16:51:49 -04:00
codec_thread.c codec_thread.c don't overrun audio_formats[] array 2021-08-11 10:56:14 -04:00
codec_thread.h Update software recording engine to latest codec interface. 2013-06-30 00:40:27 +02:00
codecs.c [3/4] Completely remove HWCODEC support 2020-07-24 21:20:13 +00:00
core_asmdefs.c
core_keymap.c Add core_get_data_pinned(), use it where possible 2023-01-15 08:57:45 -05:00
core_keymap.h key remap: simplify and use movable allocations 2022-09-25 11:05:59 +01:00
cuesheet.c cuesheet.c guard against invalid digits causing underflow on field ASAN 2022-11-21 23:24:30 -05:00
cuesheet.h [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
debug_menu.c [Feature] Add total entries to database info 2023-01-15 22:57:00 -05:00
debug_menu.h Fix menu warnings 2018-10-18 00:06:31 +02:00
enc_config.c menus remove reserved 'param' parameter 2022-12-17 04:24:37 -05:00
enc_config.h Fix menu warnings 2018-10-18 00:06:31 +02:00
features.txt Add perceptual volume adjustment 2023-01-22 21:19:57 +00:00
filetree.c [Feature] filetree fallback to loading a playlist from disk 2023-01-08 09:52:23 -05:00
filetree.h Don't autoload bookmarks after saving dynamic playlist 2022-10-18 07:23:25 -04:00
filetypes.c buflib_shrink use NULL to signal start isn't changing 2023-01-13 09:50:29 -05:00
filetypes.h [Bug Fix] filetypes.c move voice data out of INIT_ATTR 2022-12-13 22:35:24 -05:00
fracmul.h Build librbcodec with DSP and metadata. 2012-03-18 12:00:39 +01:00
keyboard.h [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
language.c language.c fix possible buffer overrun 2021-08-03 00:57:35 +00:00
language.h
logfdisp.c misc.c open_pathfmt caller supplied buffer 2022-11-23 22:09:46 -05:00
logfdisp.h
main.c remove rockboxlogo after boot INIT_ATTR 2022-12-19 18:59:59 -05:00
menu.c settings: Remove setting ID return from find_setting() 2022-12-17 13:36:38 +00:00
menu.h menus remove reserved 'param' parameter 2022-12-17 04:24:37 -05:00
misc.c Add perceptual volume adjustment 2023-01-22 21:19:57 +00:00
misc.h Add perceptual volume adjustment 2023-01-22 21:19:57 +00:00
onplay.c database: make parent tables work with plugin 2023-01-19 15:56:35 -05:00
onplay.h Database: Add ability to insert multiple files into playlists 2023-01-14 12:14:28 -05:00
open_plugin.c Remove browse_context_init() 2022-12-17 13:36:38 +00:00
open_plugin.h open_plugin.c access open_plugin_entry through a function 2022-12-16 09:05:06 -05:00
pcmbuf.c Additional Single Mode options 2021-12-11 11:43:39 -05:00
pcmbuf.h Fix a problem with audio not starting on a list of short files 2017-04-06 19:32:35 -04:00
playback.c Remove buflib allocation names, part two 2023-01-13 10:32:54 +00:00
playback.h Option to switch off album art or to prefer file over embedded 2022-01-22 08:29:40 -05:00
playlist.c playlist: Fix dircache scan thread deadlocks 2023-01-23 12:24:12 +00:00
playlist.h playlist: Remove volatile from indices 2023-01-23 12:24:12 +00:00
playlist_catalog.c Database: Add ability to insert multiple files into playlists 2023-01-14 12:14:28 -05:00
playlist_catalog.h Database: Add ability to insert multiple files into playlists 2023-01-14 12:14:28 -05:00
playlist_menu.h
playlist_viewer.c playlist: Fix mutex initialization 2023-01-23 12:24:12 +00:00
playlist_viewer.h Playlist Catalogue: Restore selection in playlist 2022-11-26 17:20:06 +01:00
plugin.c Add perceptual volume adjustment 2023-01-22 21:19:57 +00:00
plugin.h Add perceptual volume adjustment 2023-01-22 21:19:57 +00:00
rbcodec_helpers.c Remove buflib allocation names, part two 2023-01-13 10:32:54 +00:00
rbcodecconfig.h kernel: Break out kernel primitives into separate files and move to separate dir. 2014-03-03 18:11:57 +01:00
rbcodecplatform.h rbcodec: abstract tdspeed buffer allocation 2012-05-07 10:29:07 +02:00
README
root_menu.c Remove browse_context_init() 2022-12-17 13:36:38 +00:00
root_menu.h Add open_plugin to core 2020-08-17 10:15:14 -04:00
screen_access.c make splash split on control characters 2022-11-12 06:22:16 -05:00
screen_access.h make splash split on control characters 2022-11-12 06:22:16 -05:00
screens.c PictureFlow: Add 'Track Info' for tracks or whole albums 2023-01-10 18:50:12 +01:00
screens.h plugins: Properties: Add 'Last Modified' for audio files 2023-01-06 19:00:24 +01:00
settings.c settings: Remove setting ID return from find_setting() 2022-12-17 13:36:38 +00:00
settings.h Add perceptual volume adjustment 2023-01-22 21:19:57 +00:00
settings_list.c Add perceptual volume adjustment 2023-01-22 21:19:57 +00:00
settings_list.h settings: Update doc comment for struct settings_list::cfg_vals 2022-12-01 14:24:51 -05:00
shortcuts.c Remove buflib allocation names, part two 2023-01-13 10:32:54 +00:00
shortcuts.h shortcuts: talk the time and configure the sleep timeout 2011-12-08 10:23:46 +00:00
sound_menu.h Fix menu warnings 2018-10-18 00:06:31 +02:00
SOURCES LastFm remove scrobbler from core make a TSR plugin WIP 2022-03-26 02:50:11 -04:00
status.c [2/4] get rid of HAVE_LCD_CHARCELLS 2020-07-24 21:20:13 +00:00
status.h Add a comment about the ordering of 'enum playmode' 2022-11-23 10:08:49 -05:00
tagcache.c [Feature] Add total entries to database info 2023-01-15 22:57:00 -05:00
tagcache.h [Feature] Add total entries to database info 2023-01-15 22:57:00 -05:00
tagnavi.config tagtree: Support user override config file 2021-12-24 10:41:27 -05:00
tagtree.c database: make parent tables work with plugin 2023-01-19 15:56:35 -05:00
tagtree.h database: make parent tables work with plugin 2023-01-19 15:56:35 -05:00
talk.c Remove buflib allocation names, part two 2023-01-13 10:32:54 +00:00
talk.h talk.c clean up 2022-11-19 02:12:09 -05:00
tree.c Database: Add ability to insert multiple files into playlists 2023-01-14 12:14:28 -05:00
tree.h Remove browse_context_init() 2022-12-17 13:36:38 +00:00
usb_keymaps.c Document intentional fallthroughs + fix harmless unintended ones 2021-08-04 18:59:46 +00:00
usb_keymaps.h
voice_thread.c Remove buflib allocation names, part two 2023-01-13 10:32:54 +00:00
voice_thread.h voice: Allow voice prompt volume to be configurable 2021-03-07 12:51:36 +00:00

For general information see: docs/README
For API information see: docs/API