CK_ARRAY_PUT_UNIQUE(3)

NAME
ck_array_put_unique - attempt immediate or deferred insertion of a unique pointer into array

LIBRARY
Concurrency Kit (libck, -lck)

SYNOPSIS
#include <ck_array.h>
int
ck_array_put_unique(ck_array_t *array, void *pointer);

DESCRIPTION
The ck_array_put_unique(3) function will attempt to insert the value of pointer into the array pointed to by array. This function may incur additional memory allocations if not enough memory has been allocated in the array for a new entry. The operation is also free to apply the operation immediately if there is an opportunity for elimination with a pending (uncommitted) remove operation. The function will not make any modifications if the pointer already exists in the array.

RETURN VALUES
This function returns 1 if the pointer already exists in the array. It returns 0 if the put operation succeeded. It returns -1 on error due to internal memory allocation failures.

SEE ALSO
ck_array_init(3), ck_array_commit(3), ck_array_put(3), ck_array_remove(3), ck_array_deinit(3) ck_array_length(3), ck_array_buffer(3), ck_array_initialized(3), CK_ARRAY_FOREACH(3)

Additional information available at http://concurrencykit.org/