Skip to content

pybind11 gil_scoped_acquire #354

@rwgk

Description

@rwgk

Hi SMTK maintainers, could you please participate in the discussion under pybind/pybind11#4216 & pybind/pybind11#4218?

In a nutshell, pybind11 comes with two implementations of gil_scoped_acquire, let's call them "simple" and "non-simple". The current default non-simple implementation is known to be buggy from bug reports and inspection (PR #4216). My vote (as one maintainer) is to remove the non-simple version entirely, to stop sending users into traps, but your project depends on it. We need to find a way to avoid sending pybind11 users into traps, but ideally not break your project with the next release. One obvious option would be to make the simple version the default, but keep the non-simple version in pybind11 behind a define that your project could use, but then we still have to maintain the non-simple code and explain why it is there. In the long run my preference would be to transfer the non-simple code elsewhere, maybe with cooperating changes in pybind11, but we need to figure out what exactly is needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions