id_dup_data
Description:
This is a variant of id_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_id is not set in the datalist then dup_func will be called with a null
argument.
Note that dup_func is called while the datalist is locked, so it is not allowed to read or modify the datalist.
This function can be useful to avoid races when multiple threads are using the same datalist and the same key.
Parameters:
| key_id |
the Quark identifying a data element |
| dup_func |
function to duplicate the old value |
| datalist |
location of a datalist |
| user_data |
passed as user_data to |
Returns:
|
the result of calling |