struct job
{
struct job *next; /**< link to the next job enqueued */
- void *group; /**< group of the request */
+ const void *group; /**< group of the request */
job_cb_t callback; /**< processing callback */
void *arg; /**< argument */
int timeout; /**< timeout in second for processing the request */
* @return the created job unblock or NULL when no more memory
*/
static struct job *job_create(
- void *group,
+ const void *group,
int timeout,
job_cb_t callback,
void *arg)
*/
static void job_add(struct job *job)
{
- void *group;
+ const void *group;
struct job *ijob, **pjob;
/* prepare to add */
static inline void job_release(struct job *job)
{
struct job *ijob, **pjob;
- void *group;
+ const void *group;
/* first unqueue the job */
pjob = &first_job;
* @return 0 in case of success or -1 in case of error
*/
int jobs_queue(
- void *group,
+ const void *group,
int timeout,
void (*callback)(int, void*),
void *arg)
* @see jobs_call, jobs_enter, jobs_leave
*/
static int do_sync(
- void *group,
+ const void *group,
int timeout,
void (*sync_cb)(int signum, void *closure),
struct sync *sync
* @return 0 on success or -1 in case of error
*/
int jobs_enter(
- void *group,
+ const void *group,
int timeout,
void (*callback)(int signum, void *closure, struct jobloop *jobloop),
void *closure
* @return 0 in case of success or -1 in case of error
*/
int jobs_call(
- void *group,
+ const void *group,
int timeout,
void (*callback)(int, void*),
void *arg)
struct jobloop;
extern int jobs_queue(
- void *group,
+ const void *group,
int timeout,
void (*callback)(int signum, void* arg),
void *arg);
extern int jobs_enter(
- void *group,
+ const void *group,
int timeout,
void (*callback)(int signum, void *closure, struct jobloop *jobloop),
void *closure);
extern int jobs_leave(struct jobloop *jobloop);
extern int jobs_call(
- void *group,
+ const void *group,
int timeout,
void (*callback)(int, void*),
void *arg);