4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-02-23 17:19:33 +08:00
Corinna Vinschen 44a79a6eca Cygwin: convert malloc lock to SRWLOCK
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, convert the muto to a SRWLOCK and make sure it is
statically initalized.  Thus, malloc can be called as early as necessary
and malloc_init is only required to check for user space provided malloc.

Note that this requires to implement a __malloc_trylock macro to be
called from fork.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2021-10-26 18:47:22 +02:00
..
2017-02-03 21:54:25 +01:00
2017-06-22 14:48:43 +02:00
2019-02-19 14:34:18 -06:00
2019-03-04 14:14:15 +01:00
2019-03-08 12:57:42 +01:00
2019-04-30 18:49:23 +02:00
2019-12-18 10:47:43 +01:00
2019-12-21 11:44:08 +01:00
2020-02-18 11:35:42 +01:00
2020-05-28 13:34:19 -04:00
2021-10-26 18:47:22 +02:00