[Bug libstdc++/97949] Recursive calls of std::call_once together with cout leads to deadlock under mingw64

2022-05-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97949

Jonathan Wakely  changed:

   What|Removed |Added

   Target Milestone|12.2|---

--- Comment #4 from Jonathan Wakely  ---
This won't be fixed for 12.x

[Bug libstdc++/97949] Recursive calls of std::call_once together with cout leads to deadlock under mingw64

2022-05-06 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97949

Jakub Jelinek  changed:

   What|Removed |Added

   Target Milestone|12.0|12.2

--- Comment #3 from Jakub Jelinek  ---
GCC 12.1 is being released, retargeting bugs to GCC 12.2.

[Bug libstdc++/97949] Recursive calls of std::call_once together with cout leads to deadlock under mingw64

2021-03-11 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97949

Jonathan Wakely  changed:

   What|Removed |Added

   Target Milestone|--- |12.0

[Bug libstdc++/97949] Recursive calls of std::call_once together with cout leads to deadlock under mingw64

2020-11-23 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97949

--- Comment #2 from Jonathan Wakely  ---
Oh, and I think the cout calls just slow things down and introduce some
serialization (in stdio) so that the threads run concurrently.

[Bug libstdc++/97949] Recursive calls of std::call_once together with cout leads to deadlock under mingw64

2020-11-23 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97949

--- Comment #1 from Jonathan Wakely  ---
This isn't specific to mingw, it's a bug in the std::call_once implementation
for non-TLS targets. t2 runs outerDoOnce() and tries to acquire a mutex lock
before running innerDoOnce(), but that mutex is held by t3 while it waits to
try to run outerDoOnce(). t3 won't proceed until t2 finishes, which is blocked
by t3.

[Bug libstdc++/97949] Recursive calls of std::call_once together with cout leads to deadlock under mingw64

2020-11-23 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97949

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-11-23
 Ever confirmed|0   |1