-
-
Notifications
You must be signed in to change notification settings - Fork 454
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Probably fixed problems with allocation/deallocation of std::locale
- Loading branch information
1 parent
94e0a7a
commit 2135e18
Showing
4 changed files
with
7 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
2135e18
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Sin!:
Там реальная проблема (если кому интересно) в том, что прокся TBB бесцеремонно и нагло патчит (хукает) вызовы malloc/free в виндовой дллке (ucrtbase, что ли)
А конструктор std::locale (по крайней мере, на вин10) из-за оптимизации выделяет память мимо этого хука (вызовом нижележащего и никуда наружу не светящегося alloc_base или как-то там)
Собственно, получается, что аллокация идет мимо TBB, а освобождение - через него. Ну его, соответственно, и пучит
Нельзя такие патчи бинарей виндовых делать... Нельзя. Во-первых, непонятно, где еще такие оптимизации живут. А во-вторых, на разных версиях винды будете огребать проблемы в разных местах