use reentrant getmntent_r
This fixes the following data-race on VLC when 2 different inputs are opening at the same time: WARNING: ThreadSanitizer: data race (pid=15659) Write of size 8 at 0x7f79148d3140 by thread T5: #0 getmntent ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:3850 (libtsan.so.0+0x3d84c) #1 DVDOpenCommon ../src/dvd_reader.c:548 (libdvdread.so.4+0x38b6) #2 generic_start ../../src/modules/modules.c:258 (libvlccore.so.9+0x3bed5) #3 module_load ../../src/modules/modules.c:122 (libvlccore.so.9+0x3be7e) #4 vlc_module_load ../../src/modules/modules.c:194 (libvlccore.so.9+0x3c358) #5 module_need ../../src/modules/modules.c:277 (libvlccore.so.9+0x3c60c) #6 access_New ../../src/input/access.c:149 (libvlccore.so.9+0x5464c) #7 stream_AccessNew ../../src/input/access.c:294 (libvlccore.so.9+0x549c1) #8 InputDemuxNew ../../src/input/input.c:2413 (libvlccore.so.9+0x7528b) #9 InputSourceNew ../../src/input/input.c:2556 (libvlccore.so.9+0x76c1c) #10 Init ../../src/input/input.c:1257 (libvlccore.so.9+0x7b145) #11 Run ../../src/input/input.c:449 (libvlccore.so.9+0x7c3fe) Previous write of size 8 at 0x7f79148d3140 by thread T4: #0 getmntent ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:3850 (libtsan.so.0+0x3d84c) #1 DVDOpenCommon ../src/dvd_reader.c:548 (libdvdread.so.4+0x38b6) #2 generic_start ../../src/modules/modules.c:258 (libvlccore.so.9+0x3bed5) #3 module_load ../../src/modules/modules.c:122 (libvlccore.so.9+0x3be7e) #4 vlc_module_load ../../src/modules/modules.c:194 (libvlccore.so.9+0x3c358) #5 module_need ../../src/modules/modules.c:277 (libvlccore.so.9+0x3c60c) #6 access_New ../../src/input/access.c:149 (libvlccore.so.9+0x5464c) #7 stream_AccessNew ../../src/input/access.c:294 (libvlccore.so.9+0x549c1) #8 InputDemuxNew ../../src/input/input.c:2413 (libvlccore.so.9+0x7528b) #9 InputSourceNew ../../src/input/input.c:2556 (libvlccore.so.9+0x76c1c) #10 Init ../../src/input/input.c:1257 (libvlccore.so.9+0x7b145) #11 Preparse ../../src/input/input.c:475 (libvlccore.so.9+0x7c2b6)
Loading
Please register or sign in to comment