Branch: refs/heads/blead
Home: https://github.com/Perl/perl5
Commit: 74e6688766ff1dd727b85a204da830dc7a6dddf2
https://github.com/Perl/perl5/commit/74e6688766ff1dd727b85a204da830dc7a6dddf2
Author: Karl Williamson <[email protected]>
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 <[email protected]>
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