Creating a Gearman Client Connections

SYNOPSIS

#include <libgearman/gearman.h>

gearman_client_st *gearman_client_create(gearman_client_st *client)
gearman_client_st *gearman_client_clone(gearman_client_st *client, const gearman_client_st *from)
void gearman_client_free(gearman_client_st *client)

Link with -lgearman

DESCRIPTION

gearman_client_create() is used to create a c:type:gearman_client_st structure that will then be used by other libgearman client functions to communicate with the server. You should either pass a statically declared gearman_client_st to gearman_client_create() or a NULL. If a NULL passed in then a structure is allocated for you.

gearman_client_clone() is similar to gearman_client_create() but it copies the defaults and list of servers from the source gearman_client_st . If you pass a null as the argument for the source to clone, it is the same as a call to gearman_client_create. If the destination argument is NULL a gearman_client_st will be allocated for you.

To clean up memory associated with a gearman_client_st structure you should pass it to gearman_client_free when you are finished using it. gearman_client_free() is the only way to make sure all memory is deallocated when you finish using the structure.

Warning

You may wish to avoid using gearman_client_create() or gearman_client_clone() with a stack based allocation, ie the first parameter. The most common issues related to ABI safety involve stack allocated structures.

RETURN VALUE

gearman_client_create returns a pointer to the gearman_client_st that was created (or initialized). On an allocation failure, it returns NULL.

gearman_client_clone returns a pointer to the gearman_client_st that was created (or initialized). On an allocation failure, it returns NULL.

HOME

To find out more information please check: https://gearman.org/gearmand/

See also

gearmand(8) libgearman(3) gearman_strerror(3) gearman_client_st(3)