Hi

To be able to kill the workers without harming the user, we need their thread 
id's.

- Lauri
>From beb0f84f7e736b319312f0cd6f658d2437681a23 Mon Sep 17 00:00:00 2001
From: Lauri Kasanen <[email protected]>
Date: Mon, 28 May 2012 18:46:52 +0300
Subject: [PATCH] sched: Return the worker thread id


Signed-off-by: Lauri Kasanen <[email protected]>
---
 src/include/mk_scheduler.h |    2 +-
 src/mk_scheduler.c         |    4 +++-
 src/mk_server.c            |    3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/include/mk_scheduler.h b/src/include/mk_scheduler.h
index de0bab4..4f1206d 100644
--- a/src/include/mk_scheduler.h
+++ b/src/include/mk_scheduler.h
@@ -75,7 +75,7 @@ pthread_key_t worker_sched_node;
 
 void mk_sched_init();
 int mk_sched_register_thread(int epoll_fd);
-int mk_sched_launch_thread(int max_events);
+int mk_sched_launch_thread(int max_events, pthread_t *tout);
 void *mk_sched_launch_epoll_loop(void *thread_conf);
 struct sched_list_node *mk_sched_get_handler_owner(void);
 
diff --git a/src/mk_scheduler.c b/src/mk_scheduler.c
index 52d4777..4123259 100644
--- a/src/mk_scheduler.c
+++ b/src/mk_scheduler.c
@@ -255,7 +255,7 @@ int mk_sched_register_thread(int efd)
  * Create thread which will be listening
  * for incomings file descriptors
  */
-int mk_sched_launch_thread(int max_events)
+int mk_sched_launch_thread(int max_events, pthread_t *tout)
 {
     int efd;
     pthread_t tid;
@@ -281,6 +281,8 @@ int mk_sched_launch_thread(int max_events)
         return -1;
     }
 
+    *tout = tid;
+
     return 0;
 }
 
diff --git a/src/mk_server.c b/src/mk_server.c
index 8987f91..56acda0 100644
--- a/src/mk_server.c
+++ b/src/mk_server.c
@@ -70,10 +70,11 @@ int mk_server_worker_capacity(int nworkers)
 void mk_server_launch_workers()
 {
     int i;
+    pthread_t skip;
 
     /* Launch workers */
     for (i = 0; i < config->workers; i++) {
-        mk_sched_launch_thread(config->worker_capacity);
+        mk_sched_launch_thread(config->worker_capacity, &skip);
     }
 }
 
-- 
1.7.2.1

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

Reply via email to