This is a variant of get_qdata 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.
quark is not set on the object then
dup_func will be called with a null
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.
the Object to store user data on
a Quark, naming the user data pointer
function to dup the value
passed as user_data to
the result of calling