worker_new_unique
Description:
[ Version ( replacement = "Worker.new_unique" ) ]
public Worker worker_new_unique (Worker location, bool allow_destroy)
This function creates a new Worker, or reuses the one at location
.
Specifically: <orderedlist> <listitem><para>if *location
is null, then a new
Worker is created. In this case if allow_destroy
is
false, then the returned Worker's reference count is
2, thus preventing it form ever being destroyed (unless unref is called somewhere
else)</para></listitem> <listitem><para>if *location
is not null, the
the Worker it points to is returned, its reference count increased by 1</para><
/listitem> </orderedlist>
When the returned Worker's reference count reaches 0, then it is destroyed, and *
location
is set to null.
In any case, the returned value is the same as *location
.
Parameters:
location |
a place to store and test for existence, not null |
allow_destroy |
defines if the created |
Returns:
a Worker |