Creating Gearman Worker Connections

SYNOPSIS

#include <libgearman/gearman.h>

gearman_worker_st *gearman_worker_create(gearman_worker_st *client)
gearman_worker_st *gearman_worker_clone(gearman_worker_st *client, const gearman_worker_st *from)
void gearman_worker_free(gearman_worker_st *client)

Link with -lgearman

DESCRIPTION

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

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

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

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

RETURN VALUE

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

gearman_worker_clone() returns a pointer to the gearman_worker_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)