Branch: refs/heads/blead Home: https://github.com/Perl/perl5 Commit: 74e6688766ff1dd727b85a204da830dc7a6dddf2 https://github.com/Perl/perl5/commit/74e6688766ff1dd727b85a204da830dc7a6dddf2 Author: Karl Williamson <k...@cpan.org> Date: 2024-06-23 (Sun, 23 Jun 2024)
Changed paths: M perl.h M perlvars.h Log Message: ----------- perl.h: Convert reentrant locks to allow many readers This is in preparation for future use of these. The only current mutex that is reentrant is the one for locales. This simply changes the reentrant locks from using the single reader locks to using the multiple reader locks. Commit: 262c141bfbd4efc8b39138c8bd32bc75d6d68a2d https://github.com/Perl/perl5/commit/262c141bfbd4efc8b39138c8bd32bc75d6d68a2d Author: Karl Williamson <k...@cpan.org> Date: 2024-06-23 (Sun, 23 Jun 2024) Changed paths: M perl.h Log Message: ----------- Avoid deadlock if request a read lock while holding a write one In a reentrant mutex, the previous commit added the ability to have multiple readers. But if a thread already owns a mutex for writing, and requests a read lock as well, prior to this commit the thread will be deadlocked by itself. Avoid this by testing for the condition and handling separately. All reentrant mutexes currently have no read lock attempts. So this case is entirely theoretical for the moment. Compare: https://github.com/Perl/perl5/compare/56d5b6ef8208...262c141bfbd4 To unsubscribe from these emails, change your notification settings at https://github.com/Perl/perl5/settings/notifications