Second round of changes. Splitted thread.c into thread.c, team.c and scheduler.c. First kernel-only get_team_info and get_next_team_info implementation.

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@569 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
lillo
2002-08-03 23:39:50 +00:00
parent ebbcbbca01
commit aded06e0aa
16 changed files with 1185 additions and 1001 deletions
+11 -4
View File
@@ -12,6 +12,9 @@ extern "C" {
#include <thread_types.h>
#include <arch/thread.h>
void resched(void);
void start_scheduler(void);
void thread_enqueue(struct thread *t, struct thread_queue *q);
struct thread *thread_lookat_queue(struct thread_queue *q);
struct thread *thread_dequeue(struct thread_queue *q);
@@ -25,9 +28,6 @@ void thread_atkernel_exit(void);
int thread_suspend_thread(thread_id id);
int thread_resume_thread(thread_id id);
int thread_set_priority(thread_id id, int priority);
void thread_resched(void);
void thread_start_threading(void);
void thread_snooze(bigtime_t time);
int thread_init(kernel_args *ka);
int thread_init_percpu(int cpu_num);
void thread_exit(int retcode);
@@ -46,15 +46,19 @@ int thread_wait_on_thread(thread_id id, int *retcode);
thread_id thread_create_user_thread(char *name, team_id tid, addr entry, void *args);
thread_id thread_create_kernel_thread(const char *name, int (*func)(void *args), void *args);
thread_id thread_create_kernel_thread_etc(const char *name, int (*func)(void *), void *args, struct team *p);
int team_init(kernel_args *ka);
struct team *team_get_kernel_team(void);
team_id team_create_team(const char *path, const char *name, char **args, int argc, char **envp, int envc, int priority);
int team_kill_team(team_id);
int team_wait_on_team(team_id id, int *retcode);
void team_remove_team_from_hash(struct team *team);
team_id team_get_kernel_team_id(void);
team_id team_get_current_team_id(void);
char **user_team_get_arguments(void);
int user_team_get_arg_count(void);
struct team *team_get_team_struct_locked(team_id id);
// used in syscalls.c
int user_thread_wait_on_thread(thread_id id, int *uretcode);
@@ -64,7 +68,10 @@ int user_team_wait_on_team(team_id id, int *uretcode);
thread_id user_thread_create_user_thread(addr, team_id, const char*,
int, void *);
int user_thread_snooze(bigtime_t time);
status_t user_get_team_info(team_id id, team_info *info);
status_t user_get_next_team_info(int32 *cookie, team_info *info);
//int user_proc_get_table(struct proc_info *pi, size_t len);
int user_getrlimit(int resource, struct rlimit * rlp);
int user_setrlimit(int resource, const struct rlimit * rlp);