Prepare subscription to eventid
[src/app-framework-binder.git] / src / tests / test-thread.c
index 3ed3140..d3ce08c 100644 (file)
@@ -73,7 +73,7 @@ void process(struct afb_req req)
 void terminate(int signum)
 {
        printf("---------------- TERMINATE T%d (%d)\n", (int)syscall(SYS_gettid), signum);
-#if 0
+#if 1
        jobs_terminate();
 #else
        jobs_invoke0(0, jobs_terminate);
@@ -81,7 +81,7 @@ void terminate(int signum)
        exit(0);
 }
 
-int main()
+void start()
 {
        int i;
        struct foo *foo;
@@ -89,7 +89,6 @@ int main()
        struct timespec ts;
 
        req.itf = &itf;
-       jobs_init(4, 0, 20000);
        for (i = 0 ; i  < 10000 ; i++) {
                req.closure = foo = malloc(sizeof *foo);
                foo->value = i;
@@ -97,22 +96,26 @@ int main()
                afb_thread_req_call(req, process, 5, (&ts) + (i % 7));
                unref(foo);
                if (i == 5000)
-#if 1
-                       jobs_invoke0(0, terminate);
-#else
                        jobs_queue0(NULL, 0, terminate);
-#endif
                ts.tv_sec = 0;
                ts.tv_nsec = 1000000;
 //             nanosleep(&ts, NULL);
        }
-       ts.tv_sec = 1;
-       ts.tv_nsec = 0;
-       nanosleep(&ts, NULL);
-       jobs_terminate();
-       return 0;
 }
 
 
 
+int main()
+{
+       int i;
+       struct foo *foo;
+       struct afb_req req;
+       struct timespec ts;
+
+       req.itf = &itf;
+       jobs_start(4, 0, 20000, start);
+       return 1;
+}
+
+