Согласно этой документации :
typedef void * (gearman_worker_fn) (gearman_job_st * job, void * context, size_t * result_size, gearman_return_t * ret_ptr)
Определение в строке 407 файла constants.h.
Это указатель на функцию typedef: в основном вам просто нужно создать функцию с правильной сигнатурой (возвращает void *
, принимает gearman_job_st *
, void *
, size_t *
, gearman_return_t *
), а затем передайте имя функции.
Пример:
void *do_work(gearman_job_st *job, void *context, size_t *result_size, gearman_return_t *ret_ptr)
{
do_something();
}
/* Later... */
gearman_worker_add_function(worker, function_name, timeout, do_work, context);
Обратите внимание, что я просто передаю имя функции--это ухудшается до «указателя на функцию».