SDL/src/events
Sam Lantinga d59caffe2c Added support for clang thread-safety analysis
The annotations have been added to SDL_mutex.h and have been made public so applications can enable this for their own code.

Clang assumes that locking and unlocking can't fail, but SDL has the concept of a NULL mutex, so the mutex functions have been changed not to report errors if a mutex hasn't been initialized. We do have mutexes that might be accessed when they are NULL, notably in the event system, so this is an important change.

This commit cleans up a bunch of rare race conditions in the joystick and game controller code so now everything should be completely protected by the joystick lock.

To test this, change the compiler to "clang -Wthread-safety -Werror=thread-safety -DSDL_THREAD_SAFETY_ANALYSIS"
2022-12-14 09:29:19 -08:00
..
blank_cursor.h Update for SDL3 coding style (#6717) 2022-11-30 12:57:41 -08:00
default_cursor.h Updated copyright for 2022 2022-01-03 09:40:21 -08:00
imKStoUCS.c wayland: Reuse KeySymToUcs4 to replicate X11 keymap behavior 2021-09-23 11:50:47 -07:00
imKStoUCS.h wayland: Reuse KeySymToUcs4 to replicate X11 keymap behavior 2021-09-23 11:50:47 -07:00
scancodes_ascii.h Update for SDL3 coding style (#6717) 2022-11-30 12:57:41 -08:00
scancodes_darwin.h X11 scancode mapping cleanup 2022-10-13 22:41:47 -07:00
scancodes_linux.h Avoid use of deprecated egrep/fgrep 2022-11-24 02:59:41 -08:00
scancodes_windows.h X11 scancode mapping cleanup 2022-10-13 22:41:47 -07:00
scancodes_xfree86.h X11 scancode mapping cleanup 2022-10-13 22:41:47 -07:00
SDL_clipboardevents.c Update for SDL3 coding style (#6717) 2022-11-30 12:57:41 -08:00
SDL_clipboardevents_c.h Updated copyright for 2022 2022-01-03 09:40:21 -08:00
SDL_displayevents.c Update for SDL3 coding style (#6717) 2022-11-30 12:57:41 -08:00
SDL_displayevents_c.h Updated copyright for 2022 2022-01-03 09:40:21 -08:00
SDL_dropevents.c Update for SDL3 coding style (#6717) 2022-11-30 12:57:41 -08:00
SDL_dropevents_c.h Updated copyright for 2022 2022-01-03 09:40:21 -08:00
SDL_events.c Added support for clang thread-safety analysis 2022-12-14 09:29:19 -08:00
SDL_events_c.h Update for SDL3 coding style (#6717) 2022-11-30 12:57:41 -08:00
SDL_gesture.c Update for SDL3 coding style (#6717) 2022-11-30 12:57:41 -08:00
SDL_gesture_c.h Update for SDL3 coding style (#6717) 2022-11-30 12:57:41 -08:00
SDL_keyboard.c Clang-Tidy fixes (#6725) 2022-12-01 13:08:50 -08:00
SDL_keyboard_c.h Clang-Tidy fixes (#6725) 2022-12-01 13:08:50 -08:00
SDL_keysym_to_scancode.c Avoid use of deprecated egrep/fgrep 2022-11-24 02:59:41 -08:00
SDL_keysym_to_scancode_c.h wayland: Handle virtual keyboards that don't fit the X mapping 2022-11-15 11:00:39 -08:00
SDL_mouse.c Clang-Tidy fixes (#6725) 2022-12-01 13:08:50 -08:00
SDL_mouse_c.h Update for SDL3 coding style (#6717) 2022-11-30 12:57:41 -08:00
SDL_quit.c Clang-Tidy fixes (#6725) 2022-12-01 13:08:50 -08:00
SDL_scancode_tables.c X11 scancode mapping cleanup 2022-10-13 22:41:47 -07:00
SDL_scancode_tables_c.h X11 scancode mapping cleanup 2022-10-13 22:41:47 -07:00
SDL_touch.c Update for SDL3 coding style (#6717) 2022-11-30 12:57:41 -08:00
SDL_touch_c.h Update for SDL3 coding style (#6717) 2022-11-30 12:57:41 -08:00
SDL_windowevents.c Update for SDL3 coding style (#6717) 2022-11-30 12:57:41 -08:00
SDL_windowevents_c.h Update for SDL3 coding style (#6717) 2022-11-30 12:57:41 -08:00