ck_array_init man page

ck_array_init ā€” initialize a pointer array


Concurrency Kit (libck, -lck)


#include <ck_array.h>

ck_array_init(ck_array_t *array, unsigned int mode, struct ck_malloc *allocator, unsigned int initial_length);


The ck_array_init(3) function initializes the array pointed to by the argument array. The mode value must be CK_ARRAY_MODE_SPMC. The allocator argument must point to a ck_malloc data structure with valid non-NULL function pointers initialized for malloc, free and realloc. The initial_length specifies the initial length of the array. The value of initial_length must be greater than or equal to 2. An array allows for one concurrent put or remove operations in the presence of any number of concurrent CK_ARRAY_FOREACH operations.

Return Values

This function returns true if the array was successfully created. It returns false if the creation failed. Failure may occur due to internal memory allocation failures or invalid arguments.

See Also

ck_array_commit(3), ck_array_put(3), ck_array_put_unique(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

Referenced By

ck_array_buffer(3), ck_array_commit(3), ck_array_deinit(3), CK_ARRAY_FOREACH(3), ck_array_initialized(3), ck_array_length(3), ck_array_put(3), ck_array_put_unique(3), ck_array_remove(3).

October 18, 2013