jobs: Add argument to start
authorJosé Bollo <jose.bollo@iot.bzh>
Tue, 6 Feb 2018 15:19:17 +0000 (16:19 +0100)
committerJosé Bollo <jose.bollo@iot.bzh>
Tue, 6 Feb 2018 15:20:49 +0000 (16:20 +0100)
Change-Id: I89a75a036c60097fb898ab8723007ca6ebfc7f39
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
src/jobs.c
src/jobs.h
src/main.c

index 4b4472e..952720b 100644 (file)
@@ -732,7 +732,7 @@ struct sd_event *jobs_get_sd_event()
  * @param start         The start routine to activate (can't be NULL)
  * @return 0 in case of success or -1 in case of error.
  */
-int jobs_start(int allowed_count, int start_count, int waiter_count, void (*start)(int signum))
+int jobs_start(int allowed_count, int start_count, int waiter_count, void (*start)(int signum, void* arg), void *arg)
 {
        int rc, launched;
        struct thread me;
@@ -782,7 +782,7 @@ int jobs_start(int allowed_count, int start_count, int waiter_count, void (*star
        }
 
        /* queue the start job */
-       job = job_create(NULL, 0, (job_cb_t)start, NULL);
+       job = job_create(NULL, 0, start, arg);
        if (!job) {
                ERROR("out of memory");
                errno = ENOMEM;
index e61b2c7..7be9e69 100644 (file)
@@ -44,5 +44,10 @@ extern struct sd_event *jobs_get_sd_event();
 
 extern void jobs_terminate();
 
-extern int jobs_start(int allowed_count, int start_count, int waiter_count, void (*start)(int signum));
+extern int jobs_start(
+               int allowed_count,
+               int start_count,
+               int waiter_count,
+               void (*start)(int signum, void* arg),
+               void *arg);
 
index df35d88..952b486 100644 (file)
@@ -535,7 +535,7 @@ static void run_startup_calls()
  | job for starting the daemon
  +--------------------------------------------------------- */
 
-static void start(int signum)
+static void start(int signum, void *arg)
 {
        struct afb_hsrv *hsrv;
 
@@ -674,7 +674,7 @@ int main(int argc, char *argv[])
        afb_debug("main-start");
 
        /* enter job processing */
-       jobs_start(3, 0, 50, start);
+       jobs_start(3, 0, 50, start, NULL);
        WARNING("hoops returned from jobs_enter! [report bug]");
        return 1;
 }