kmsdrm: Fix busy-loop within libc's dlopen()
For some obscure reason, the order in which the libdrm/libgbm libraries are loaded matters. Without this fix, the first call to check_modesetting() will work and load then unload all symbols properly, but the second call to this function will lock up as soon as dlopen() is called on libdrm. Swapping the order in which the libdrm and libgbm libraries are loaded is enough to fix (or work around?) this issue. Fixes #4891: https://bugzilla.libsdl.org/show_bug.cgi?id=4891 Signed-off-by: Paul Cercueil <paul@crapouillou.net>
This commit is contained in:
parent
53fc83833c
commit
9b7675d26e
1 changed files with 2 additions and 2 deletions
|
@ -50,8 +50,8 @@ typedef struct
|
|||
#endif
|
||||
|
||||
static kmsdrmdynlib kmsdrmlibs[] = {
|
||||
{NULL, SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC},
|
||||
{NULL, SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM}
|
||||
{NULL, SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM},
|
||||
{NULL, SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC}
|
||||
};
|
||||
|
||||
static void *
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue