Details

      Description

      Currently OwnedRef and ScopedRef have similar semantics with small differences. Furtheremore, the naming distinction isn't obvious.

      I propose to unify them as a single OwnedRef class with the following characteristics:

      • doesn't take the GIL automatically
      • has a release() method that decrefs the pointer (and sets the internal copy to NULL) before returning it
      • has a detach() method that returns the pointer (and sets the internal copy to NULL) without decrefing it

      For the rare situations where an OwnedRef may be destroyed with the GIL released, a OwnedRefNoGIL derived class would also be proposed (the naming scheme follows Cython here).

      Opinions / comments?

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                pitrou Antoine Pitrou
                Reporter:
                pitrou Antoine Pitrou
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: