MCPcopy Create free account
hub / github.com/PyO3/rust-numpy / acquire_mut_shared

Function acquire_mut_shared

src/borrow/shared.rs:59–75  ·  view source on GitHub ↗
(flags: *mut c_void, array: *mut PyArrayObject)

Source from the content-addressed store, hash-verified

57}
58
59unsafe extern "C" fn acquire_mut_shared(flags: *mut c_void, array: *mut PyArrayObject) -> c_int {
60 if (*array).flags & NPY_ARRAY_WRITEABLE == 0 {
61 return -2;
62 }
63
64 // SAFETY: must be attached when calling `acquire_shared`.
65 let py = Python::assume_attached();
66 let flags = &*(flags as *mut BorrowFlags);
67
68 let address = base_address(py, array);
69 let key = borrow_key(py, array);
70
71 match flags.acquire_mut(address, key) {
72 Ok(()) => 0,
73 Err(()) => -1,
74 }
75}
76
77unsafe extern "C" fn release_shared(flags: *mut c_void, array: *mut PyArrayObject) {
78 // SAFETY: must be attached when calling `acquire_shared`.

Callers

nothing calls this directly

Calls 3

base_addressFunction · 0.85
borrow_keyFunction · 0.85
acquire_mutMethod · 0.80

Tested by

no test coverage detected