Hi

The lib and plugins could use a spawn function with the void* argument.

- Lauri
>From 41e0e3ac779c894acc878aa49cff89bb42599e54 Mon Sep 17 00:00:00 2001
From: Lauri Kasanen <[email protected]>
Date: Tue, 29 May 2012 16:00:41 +0300
Subject: [PATCH 1/3] utils: Add a spawn function with argument, implement 
worker_spawn over it


Signed-off-by: Lauri Kasanen <[email protected]>
---
 src/include/mk_utils.h |    1 +
 src/mk_utils.c         |    7 ++++++-
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/src/include/mk_utils.h b/src/include/mk_utils.h
index b78a26b..c642e45 100644
--- a/src/include/mk_utils.h
+++ b/src/include/mk_utils.h
@@ -83,6 +83,7 @@ int mk_utils_remove_pid(void);
 void mk_print(int type, const char *format, ...) PRINTF_WARNINGS(2,3);
 
 pthread_t mk_utils_worker_spawn(void (*func) (void *));
+pthread_t mk_utils_worker_spawn_arg(void (*func) (void *), void *arg);
 int mk_utils_worker_rename(const char *title);
 
 #ifdef DEBUG
diff --git a/src/mk_utils.c b/src/mk_utils.c
index e3397d5..bc6fea5 100644
--- a/src/mk_utils.c
+++ b/src/mk_utils.c
@@ -597,12 +597,17 @@ void mk_print(int type, const char *format, ...)
 
 pthread_t mk_utils_worker_spawn(void (*func) (void *))
 {
+    return mk_utils_worker_spawn_arg(func, NULL);
+}
+
+pthread_t mk_utils_worker_spawn_arg(void (*func) (void *), void *arg)
+{
     pthread_t tid;
     pthread_attr_t thread_attr;
 
     pthread_attr_init(&thread_attr);
     pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED);
-    if (pthread_create(&tid, &thread_attr, (void *) func, NULL) < 0) {
+    if (pthread_create(&tid, &thread_attr, (void *) func, arg) < 0) {
         perror("pthread_create");
         exit(EXIT_FAILURE);
     }
-- 
1.7.2.1

_______________________________________________
Monkey mailing list
[email protected]
http://lists.monkey-project.com/listinfo/monkey

Reply via email to