Skip to content
This repository has been archived by the owner on Oct 12, 2022. It is now read-only.

merge stable #3434

Merged
merged 7 commits into from
Apr 18, 2021
Merged

merge stable #3434

merged 7 commits into from
Apr 18, 2021

Conversation

MartinNowak
Copy link
Member

  • fix issue 21712 - [REG 2.096.0] sometimes coverage *.lst files are corrupted
  • core.lifetime: Tag -betterC compatible unittests
  • Fix Issue 21701 - casWeak is not implemented
  • Fix Issue 21371 - core.stdcpp.allocator: _Adjust_manually_vector_aligned checks for sentinel unconditionally (Windows only)
  • Fix Issue 21784: Allow detached threads to be joined
  • Allow detached threads to be joined on Windows too

Basile Burg and others added 7 commits March 16, 2021 11:11
…rrupted

dont use the same buffer to read+split the LST and read+split the D
To avoid future regressions w.r.t. to -betterC
…ned checks for sentinel unconditionally (Windows only)

This bug resulted in assertion failures when deleting large blocks of memory using core.stdcpp.allocator on Windows. _Allocate_manually_vector_aligned
only sets a sentinel when version(_DEBUG) so _Adjust_manually_vector_aligned
should only check for this sentinel when version(_DEBUG).

Additionally change the linkage of those functions from C++ to D to avoid
possible linker confusion.

Also changed the logic by which allocator.d infers _DEBUG to resemble the
the logic for _ITERATOR_DEBUG_LEVEL in utility.d.
This is useful when a thread terminates before the
caller is able to join().
PR dlang#3418 allowed them on Posix; extend it to Windows too. The added
test/thread/src/join_detach.d test now passes on Windows (tested by
LDC).
@dlang-bot
Copy link
Contributor

Thanks for your pull request, @MartinNowak!

Bugzilla references

Auto-close Bugzilla Severity Description
21371 normal core.stdcpp.allocator: _Adjust_manually_vector_aligned checks for sentinel unconditionally (Windows only)
21701 normal casWeak is not implemented
21712 regression [REG 2.096.0] sometimes coverage *.lst files are corrupted
21784 enhancement joining a detached thread results in segfault.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + druntime#3434"

@dlang-bot dlang-bot added the Enhancement New functionality label Apr 13, 2021
@dlang-bot dlang-bot merged commit 20d7eae into dlang:master Apr 18, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Enhancement New functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants