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

mutex.cpp, cond.cpp: Use static dispatch #3770

Merged
merged 13 commits into from
Jun 22, 2023

Commits on Jun 12, 2023

  1. Configuration menu
    Copy the full SHA
    24922f3 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2023

  1. Configuration menu
    Copy the full SHA
    e952e5a View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2023

  1. Alternative approach

    cpplearner committed Jun 15, 2023
    Configuration menu
    Copy the full SHA
    c3114d1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a212a04 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2023

  1. Configuration menu
    Copy the full SHA
    13f90f1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fd49a2f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3698785 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5365632 View commit details
    Browse the repository at this point in the history
  5. =delete native_handle() for the mutex family and `condition_var…

    …iable`.
    
    We never provided user-visible declarations for what they returned. It's extremely unlikely that users were successfully calling them in any useful way, so the bincompat risk of nulling out the vptrs is minimal.
    
    I am opting to `=delete` these functions, instead of simply not declaring them, so that attempted calls will have a slightly more comprehensible error message. As the TRANSITION comments note, in theory we could provide implementations that return the underlying Win32 machinery which actually would be possible to document.
    
    I am also changing `condition_variable`'s `native_handle_type` from `_Cnd_t` (an alias provided by `<xthreads.h>` for `_Cnd_internal_imp_t*`, which is forward-declared and never defined for users) to `void*` and grouping it with the function, which follows the Standard's order.
    StephanTLavavej committed Jun 16, 2023
    Configuration menu
    Copy the full SHA
    589f8d7 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2023

  1. Configuration menu
    Copy the full SHA
    0578610 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2023

  1. Configuration menu
    Copy the full SHA
    34fdc17 View commit details
    Browse the repository at this point in the history
  2. Revert "We don't actually need vptr placeholders."

    This reverts commit 34fdc17.
    StephanTLavavej committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    a62223f View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2023

  1. Configuration menu
    Copy the full SHA
    f3499b7 View commit details
    Browse the repository at this point in the history