forked from bminor/newlib
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cygwin 3.3 only: Replace SRWLOCK usage for malloc synchronization with the first incarnation of the patch splitting malloc_init into two parts. The SRWLOCK usage requires TryAcquireSRWLockExclusive, which isn't available on Vista / Server 2008, unfortunately. Per https://cygwin.com/pipermail/cygwin-developers/2021-October/012429.html, we may encounter a crash when starting multiple threads during process startup (here: fhandler_fifo::fixup_after_{fork,exec}) which in turn allocate memory via malloc. The problem is concurrent usage of malloc before the malloc muto has been initialized. To fix this issue, split malloc_init into malloc_init_0, called from dll_crt0_0, and malloc_init_1, called from dll_crt_0_1. malloc_init_0 just initializes the muto, malloc_init_1 checks for user space provided malloc. Signed-off-by: Corinna Vinschen <[email protected]>
- Loading branch information
1 parent
462ca33
commit e528cfe
Showing
6 changed files
with
13 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Bug Fixes | ||
--------- | ||
|
||
- Fix a fix in 3.3.0 which broke Vista / Server 2008 by using a Windows | ||
function introduced with Windows 7 only, namely TryAcquireSRWLockExclusive. | ||
Addresses: https://cygwin.com/pipermail/cygwin/2021-October/249732.html |