Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Object Header or Sync Block in BotR: Threading - Synchronization: Managed #79248

Open
Miljankg opened this issue Dec 5, 2022 · 3 comments
Open
Assignees
Labels
area-System.Threading documentation Documentation bug or enhancement, does not impact product or test code
Milestone

Comments

@Miljankg
Copy link

Miljankg commented Dec 5, 2022

Hi!

In the Threading section of the "Book of the Runtime", in the chapter "Synchronization: Managed", the last paragraph states:

An object that is used as a condition variable (via Monitor.Wait and Monitor.Pulse) must always be inflated, as there is not enough room in the sync block to hold the required state.

However, from reading the whole chapter, my understanding is that the objects are inflated when there is not enough space in the object header. Then the sync block is added. If I am not mistaken, sync block in the mentioned paragraph should be replaced with object header.

Is this true, or did I misunderstand how the objects are inflated?

Thanks in advance.

@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@ghost ghost added the untriaged New issue has not been triaged by the area owner label Dec 5, 2022
@ghost
Copy link

ghost commented Dec 6, 2022

Tagging subscribers to this area: @mangod9
See info in area-owners.md if you want to be subscribed.

Issue Details

Hi!

In the Threading section of the "Book of the Runtime", in the chapter "Synchronization: Managed", the last paragraph states:

An object that is used as a condition variable (via Monitor.Wait and Monitor.Pulse) must always be inflated, as there is not enough room in the sync block to hold the required state.

However, from reading the whole chapter, my understanding is that the objects are inflated when there is not enough space in the object header. Then the sync block is added. If I am not mistaken, sync block in the mentioned paragraph should be replaced with object header.

Is this true, or did I misunderstand how the objects are inflated?

Thanks in advance.

Author: Miljankg
Assignees: -
Labels:

area-System.Threading, untriaged

Milestone: -

@mangod9 mangod9 removed the untriaged New issue has not been triaged by the area owner label Jul 24, 2023
@mangod9 mangod9 added this to the Future milestone Jul 24, 2023
@kouvel kouvel added the documentation Documentation bug or enhancement, does not impact product or test code label Aug 4, 2023
@kouvel
Copy link
Member

kouvel commented Aug 4, 2023

Is this true, or did I misunderstand how the objects are inflated?

Yes, it should say "object header" instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-System.Threading documentation Documentation bug or enhancement, does not impact product or test code
Projects
None yet
Development

No branches or pull requests

4 participants