This is a variant of get_data which returns a 'duplicate' of the value.
dup_func
defines the meaning of 'duplicate' in this context, it could e.g. take a reference on a ref-counted object.
If the key
is not set on the object then dup_func
will be called with a null
argument.
Note that dup_func
is called while user data of this is locked.
This function can be useful to avoid races when multiple threads are using object data on the same key on the same object.
this |
the Object to store user data on |
key |
a string, naming the user data pointer |
dup_func |
function to dup the value |
user_data |
passed as user_data to |
the result of calling |